summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2010-06-18 11:29:29 +0100
committerDavid Woodhouse <David.Woodhouse@intel.com>2010-06-28 13:39:27 +0100
commitd35d4628658b0c631a46943a489b70617463aace (patch)
treee6991ccf7c91db0506a98b0f17f6bb70e2abd508
parentae740ed87ef3508b65143efaef1ac2c09e9b9f02 (diff)
downloadevolution-data-server-d35d4628658b0c631a46943a489b70617463aace.tar.gz
Make camel_imapx_stream_number() return a guint64
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. (cherry picked from commit a6123e8d8098235702d4eed355286cd9154a0736)
-rw-r--r--camel/providers/imapx/camel-imapx-stream.c4
-rw-r--r--camel/providers/imapx/camel-imapx-stream.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/camel/providers/imapx/camel-imapx-stream.c b/camel/providers/imapx/camel-imapx-stream.c
index ac8cb647d..2cb68ca03 100644
--- a/camel/providers/imapx/camel-imapx-stream.c
+++ b/camel/providers/imapx/camel-imapx-stream.c
@@ -404,7 +404,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;
@@ -415,7 +415,7 @@ camel_imapx_stream_number(CamelIMAPXStream *is, CamelException *ex)
return 0;
}
- return strtoul((gchar *)token, 0, 10);
+ return strtoull((gchar *)token, 0, 10);
}
gint
diff --git a/camel/providers/imapx/camel-imapx-stream.h b/camel/providers/imapx/camel-imapx-stream.h
index 174c2cf8d..27138c2ee 100644
--- a/camel/providers/imapx/camel-imapx-stream.h
+++ b/camel/providers/imapx/camel-imapx-stream.h
@@ -87,7 +87,8 @@ gint camel_imapx_stream_nstring_stream(CamelIMAPXStream *is, CamelStream **str
gint camel_imapx_stream_text (CamelIMAPXStream *is, guchar **text, CamelException *ex);
/* gets a 'number' */
-guint32 camel_imapx_stream_number(CamelIMAPXStream *is, CamelException *ex);
+guint64 camel_imapx_stream_number (CamelIMAPXStream *is,
+ CamelException *ex);
/* skips the rest of a line, including literals, etc */
gint camel_imapx_stream_skip(CamelIMAPXStream *is, CamelException *ex);