--- a/src/utils/mimeparse.cpp
+++ b/src/utils/mimeparse.cpp
@@ -1,5 +1,5 @@
#ifndef lint
-static char rcsid[] = "@(#$Id: mimeparse.cpp,v 1.8 2005-11-24 07:16:16 dockes Exp $ (C) 2004 J.F.Dockes";
+static char rcsid[] = "@(#$Id: mimeparse.cpp,v 1.9 2005-12-16 10:08:08 dockes Exp $ (C) 2004 J.F.Dockes";
#endif
#ifndef TEST_MIMEPARSE
@@ -38,7 +38,8 @@
};
// Skip mime comment. This must be called with in[start] == '('
-int skip_comment(const string &in, unsigned int start, Lexical &lex)
+string::size_type skip_comment(const string &in, string::size_type start,
+ Lexical &lex)
{
int commentlevel = 0;
for (; start < in.size(); start++) {
@@ -67,8 +68,9 @@
}
// Skip initial whitespace and (possibly nested) comments.
-int skip_whitespace_and_comment(const string &in, unsigned int start,
- Lexical &lex)
+string::size_type skip_whitespace_and_comment(const string &in,
+ string::size_type start,
+ Lexical &lex)
{
while (1) {
if ((start = in.find_first_not_of(" \t\r\n", start)) == string::npos)
@@ -90,8 +92,8 @@
/// @param start the starting position
/// @param lex the returned token and its description
/// @param delims separators we should look for
-int find_next_token(const string &in, unsigned int start,
- Lexical &lex, string delims = ";=")
+string::size_type find_next_token(const string &in, string::size_type start,
+ Lexical &lex, string delims = ";=")
{
char oquot, cquot;
@@ -100,7 +102,7 @@
return start;
// Begins with separator ? return it.
- unsigned int delimi = delims.find_first_of(in[start]);
+ string::size_type delimi = delims.find_first_of(in[start]);
if (delimi != string::npos) {
lex.what = Lexical::separator;
lex.value = delims[delimi];
@@ -117,7 +119,7 @@
if (cquot != 0) {
// Quoted string parsing
- unsigned int end;
+ string::size_type end;
start++; // Skip quote character
for (end = start;end < in.size() && in[end] != cquot; end++) {
if (in[end] == '\\') {
@@ -141,7 +143,7 @@
lex.quote = oquot;
return ++end;
} else {
- unsigned int end = in.find_first_of(delims + " \t(", start);
+ string::size_type end = in.find_first_of(delims + " \t(", start);
lex.what = Lexical::token;
lex.quote = 0;
if (end == string::npos) {
@@ -156,7 +158,7 @@
void stringtolower(string &out, const string& in)
{
- for (unsigned int i = 0; i < in.size(); i++)
+ for (string::size_type i = 0; i < in.size(); i++)
out.append(1, char(tolower(in[i])));
}
@@ -166,7 +168,7 @@
parsed.params.clear();
Lexical lex;
- unsigned int start = 0;
+ string::size_type start = 0;
start = find_next_token(value, start, lex);
if (start == string::npos || lex.what != Lexical::token)
return false;
@@ -205,7 +207,7 @@
bool qp_decode(const string& in, string &out)
{
out.reserve(in.length());
- unsigned int ii;
+ string::size_type ii;
for (ii = 0; ii < in.length(); ii++) {
if (in[ii] == '=') {
ii++; // Skip '='
@@ -300,7 +302,7 @@
out = "";
- for (unsigned int ii = 0; ii < in.length(); ii++) {
+ for (string::size_type ii = 0; ii < in.length(); ii++) {
char ch = in[ii];
switch (state) {
case rfc2047base: