talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 828fdc64ec1c2cfb391d44ba7b5785bb85f4f388
parent bac0338c953b47c86c788aaa7302c973c99a7155
Author: Ricardo Mones <ricardo@mones.org>
Date:   Tue,  6 Dec 2016 13:07:32 +0100

Fix Debian bug #846170: incorrect IMAP UID handling

Patch by Darac Marjal <darac@darac.org.uk>

Diffstat:
Msrc/folder.c | 30+++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/folder.c b/src/folder.c @@ -2196,22 +2196,22 @@ gint folder_item_scan_full(FolderItem *item, gboolean filtering) cache_list_last = g_slist_last(cache_list); cache_max_num = ((MsgInfo *)cache_list_last->data)->msgnum; } else { - cache_cur_num = G_MAXINT; + cache_cur_num = G_MAXUINT; cache_max_num = 0; } if (folder_list_cur != NULL) { GSList *folder_list_last; - folder_cur_num = GPOINTER_TO_INT(folder_list_cur->data); + folder_cur_num = GPOINTER_TO_UINT(folder_list_cur->data); folder_list_last = g_slist_last(folder_list); - folder_max_num = GPOINTER_TO_INT(folder_list_last->data); + folder_max_num = GPOINTER_TO_UINT(folder_list_last->data); } else { - folder_cur_num = G_MAXINT; + folder_cur_num = G_MAXUINT; folder_max_num = 0; } - while ((cache_cur_num != G_MAXINT) || (folder_cur_num != G_MAXINT)) { + while ((cache_cur_num != G_MAXUINT) || (folder_cur_num != G_MAXUINT)) { /* * Message only exists in the folder * Remember message for fetching @@ -2240,8 +2240,8 @@ gint folder_item_scan_full(FolderItem *item, gboolean filtering) } if (add) { - new_list = g_slist_prepend(new_list, GINT_TO_POINTER(folder_cur_num)); - debug_print("Remembered message %d for fetching\n", folder_cur_num); + new_list = g_slist_prepend(new_list, GUINT_TO_POINTER(folder_cur_num)); + debug_print("Remembered message %u for fetching\n", folder_cur_num); } /* Move to next folder number */ @@ -2249,9 +2249,9 @@ gint folder_item_scan_full(FolderItem *item, gboolean filtering) folder_list_cur = folder_list_cur->next; if (folder_list_cur != NULL) - folder_cur_num = GPOINTER_TO_INT(folder_list_cur->data); + folder_cur_num = GPOINTER_TO_UINT(folder_list_cur->data); else - folder_cur_num = G_MAXINT; + folder_cur_num = G_MAXUINT; continue; } @@ -2262,7 +2262,7 @@ gint folder_item_scan_full(FolderItem *item, gboolean filtering) */ if (cache_cur_num < folder_cur_num) { msgcache_remove_msg(item->cache, cache_cur_num); - debug_print("Removed message %d from cache.\n", cache_cur_num); + debug_print("Removed message %u from cache.\n", cache_cur_num); /* Move to next cache number */ if (cache_list_cur) @@ -2271,7 +2271,7 @@ gint folder_item_scan_full(FolderItem *item, gboolean filtering) if (cache_list_cur != NULL) cache_cur_num = ((MsgInfo *)cache_list_cur->data)->msgnum; else - cache_cur_num = G_MAXINT; + cache_cur_num = G_MAXUINT; update_flags |= F_ITEM_UPDATE_MSGCNT | F_ITEM_UPDATE_CONTENT; @@ -2291,7 +2291,7 @@ gint folder_item_scan_full(FolderItem *item, gboolean filtering) new_list = g_slist_prepend(new_list, GINT_TO_POINTER(msginfo->msgnum)); procmsg_msginfo_free(&msginfo); - debug_print("Remembering message %d to update...\n", folder_cur_num); + debug_print("Remembering message %u to update...\n", folder_cur_num); } else if (msginfo) { exists_list = g_slist_prepend(exists_list, msginfo); @@ -2312,12 +2312,12 @@ gint folder_item_scan_full(FolderItem *item, gboolean filtering) if (cache_list_cur != NULL) cache_cur_num = ((MsgInfo *)cache_list_cur->data)->msgnum; else - cache_cur_num = G_MAXINT; + cache_cur_num = G_MAXUINT; if (folder_list_cur != NULL) - folder_cur_num = GPOINTER_TO_INT(folder_list_cur->data); + folder_cur_num = GPOINTER_TO_UINT(folder_list_cur->data); else - folder_cur_num = G_MAXINT; + folder_cur_num = G_MAXUINT; continue; }