Make camel_imapx_stream_number() return a guint64
authorDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 18 Jun 2010 10:29:29 +0000 (11:29 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Thu, 24 Jun 2010 11:03:45 +0000 (12:03 +0100)
Some fields like UIDVALIDITY and MODSEQ may well be larger than can fit in
a 32-bit value. RFC4551 makes this abundantly clear in its examples.

camel/providers/imapx/camel-imapx-stream.c
camel/providers/imapx/camel-imapx-stream.h

index 5451469..0874d44 100644 (file)
@@ -403,7 +403,7 @@ camel_imapx_stream_nstring_stream(CamelIMAPXStream *is, CamelStream **stream, Ca
        return ret;
 }
 
-guint32
+guint64
 camel_imapx_stream_number(CamelIMAPXStream *is, CamelException *ex)
 {
        guchar *token;
@@ -414,7 +414,7 @@ camel_imapx_stream_number(CamelIMAPXStream *is, CamelException *ex)
                return 0;
        }
 
-       return strtoul((gchar *)token, 0, 10);
+       return strtoull((gchar *)token, 0, 10);
 }
 
 gint
index 433a01f..e7e71c6 100644 (file)
@@ -127,7 +127,7 @@ gint                camel_imapx_stream_text         (CamelIMAPXStream *is,
                                                 CamelException *ex);
 
 /* gets a 'number' */
-guint32                 camel_imapx_stream_number      (CamelIMAPXStream *is,
+guint64                 camel_imapx_stream_number      (CamelIMAPXStream *is,
                                                 CamelException *ex);
 
 /* skips the rest of a line, including literals, etc */