[evolution-data-server] Bug 781549 - [IMAPx] Treat UID as unsigned integer
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Bug 781549 - [IMAPx] Treat UID as unsigned integer
- Date: Fri, 21 Apr 2017 07:15:42 +0000 (UTC)
commit 7328375b082c7a072a78bc60b8b4e321283950fb
Author: Milan Crha <mcrha redhat com>
Date: Fri Apr 21 09:15:02 2017 +0200
Bug 781549 - [IMAPx] Treat UID as unsigned integer
src/camel/camel-folder.c | 2 +-
src/camel/providers/imapx/camel-imapx-server.c | 16 ++++++++--------
src/camel/providers/imapx/camel-imapx-summary.c | 6 +++---
3 files changed, 12 insertions(+), 12 deletions(-)
---
diff --git a/src/camel/camel-folder.c b/src/camel/camel-folder.c
index 67fc4de..b6efd2e 100644
--- a/src/camel/camel-folder.c
+++ b/src/camel/camel-folder.c
@@ -864,7 +864,7 @@ folder_cmp_uids (CamelFolder *folder,
g_return_val_if_fail (uid1 != NULL, 0);
g_return_val_if_fail (uid2 != NULL, 0);
- return strtoul (uid1, NULL, 10) - strtoul (uid2, NULL, 10);
+ return g_ascii_strtoull (uid1, NULL, 10) - g_ascii_strtoull (uid2, NULL, 10);
}
static void
diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c
index 1940c6e..a980f03 100644
--- a/src/camel/providers/imapx/camel-imapx-server.c
+++ b/src/camel/providers/imapx/camel-imapx-server.c
@@ -495,9 +495,9 @@ imapx_uidset_done (struct _uidset_state *ss,
if (ss->entries > 0)
camel_imapx_command_add (ic, ",");
if (ss->last == ss->start)
- camel_imapx_command_add (ic, "%d", ss->last);
+ camel_imapx_command_add (ic, "%u", ss->last);
else
- camel_imapx_command_add (ic, "%d:%d", ss->start, ss->last);
+ camel_imapx_command_add (ic, "%u:%u", ss->start, ss->last);
}
ret = ss->last != 0;
@@ -538,13 +538,13 @@ imapx_uidset_add (struct _uidset_state *ss,
e (ic->is->priv->tagprefix, " ,next\n");
if (ss->entries > 0)
camel_imapx_command_add (ic, ",");
- camel_imapx_command_add (ic, "%d", ss->start);
+ camel_imapx_command_add (ic, "%u", ss->start);
ss->entries++;
} else {
e (ic->is->priv->tagprefix, " :range\n");
if (ss->entries > 0)
camel_imapx_command_add (ic, ",");
- camel_imapx_command_add (ic, "%d:%d", ss->start, ss->last);
+ camel_imapx_command_add (ic, "%u:%u", ss->start, ss->last);
ss->entries += 2;
}
ss->start = uidn;
@@ -4392,14 +4392,14 @@ camel_imapx_server_copy_message_sync (CamelIMAPXServer *is,
gchar *uid;
gboolean is_new = FALSE;
- uid = g_strdup_printf ("%d", g_array_index
(copyuid_status->u.copyuid.uids, guint32, ii));
+ uid = g_strdup_printf ("%u", g_array_index
(copyuid_status->u.copyuid.uids, guint32, ii));
source_info = g_hash_table_lookup (source_infos, uid);
g_free (uid);
if (!source_info)
continue;
- uid = g_strdup_printf ("%d", g_array_index
(copyuid_status->u.copyuid.copied_uids, guint32, ii));
+ uid = g_strdup_printf ("%u", g_array_index
(copyuid_status->u.copyuid.copied_uids, guint32, ii));
destination_info = camel_folder_summary_get
(camel_folder_get_folder_summary (folder), uid);
if (!destination_info) {
@@ -4684,11 +4684,11 @@ camel_imapx_server_append_message_sync (CamelIMAPXServer *is,
old_uid = g_strdup (camel_message_info_get_uid (info));
if (ic->status && ic->status->condition == IMAPX_APPENDUID) {
- c (is->priv->tagprefix, "Got appenduid %d %d\n", (gint)
ic->status->u.appenduid.uidvalidity, (gint) ic->status->u.appenduid.uid);
+ c (is->priv->tagprefix, "Got appenduid %u %u\n", (guint32)
ic->status->u.appenduid.uidvalidity, ic->status->u.appenduid.uid);
if (ic->status->u.appenduid.uidvalidity == uidvalidity) {
gchar *uid;
- uid = g_strdup_printf ("%u", (guint) ic->status->u.appenduid.uid);
+ uid = g_strdup_printf ("%u", ic->status->u.appenduid.uid);
camel_message_info_set_uid (mi, uid);
cur = camel_data_cache_get_filename (imapx_folder->cache, "cur", uid);
diff --git a/src/camel/providers/imapx/camel-imapx-summary.c b/src/camel/providers/imapx/camel-imapx-summary.c
index b1af6bf..a59d884 100644
--- a/src/camel/providers/imapx/camel-imapx-summary.c
+++ b/src/camel/providers/imapx/camel-imapx-summary.c
@@ -132,7 +132,7 @@ sort_uid_cmp (gpointer enc,
{
static gchar *sa1 = NULL, *sa2 = NULL;
static gint l1 = 0, l2 = 0;
- gint a1, a2;
+ guint64 a1, a2;
if (l1 < len1 + 1) {
sa1 = g_realloc (sa1, len1 + 1);
@@ -145,8 +145,8 @@ sort_uid_cmp (gpointer enc,
strncpy (sa1, data1, len1); sa1[len1] = 0;
strncpy (sa2, data2, len2); sa2[len2] = 0;
- a1 = strtoul (sa1, NULL, 10);
- a2 = strtoul (sa2, NULL, 10);
+ a1 = g_ascii_strtoull (sa1, NULL, 10);
+ a2 = g_ascii_strtoull (sa2, NULL, 10);
return (a1 < a2) ? -1 : (a1 > a2) ? 1 : 0;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]