- procmsg_msginfo_free(msginfo);
- }
- g_slist_free(folder_list);
- g_slist_free(cache_list);
-
- return 0;
- }
-
- folderscaninfo = g_new0(FolderScanInfo, max - min + 1);
-
- for (elem = folder_list; elem != NULL; elem = elem->next) {
- guint num = GPOINTER_TO_INT(elem->data);
-
- folderscaninfo[num - min] |= IN_FOLDER;
- }
- for (elem = cache_list; elem != NULL; elem = elem->next) {
- MsgInfo *msginfo = (MsgInfo *)elem->data;
-
- folderscaninfo[msginfo->msgnum - min] |= IN_CACHE;
- procmsg_msginfo_free(msginfo);
- }
-
- for (i = max - min; i >= 0; i--) {
- guint num;
+ if (cache_list_cur != NULL) {
+ GSList *cache_list_last;
+
+ cache_cur_num = ((MsgInfo *)cache_list_cur->data)->msgnum;
+ cache_list_last = g_slist_last(cache_list);
+ cache_max_num = ((MsgInfo *)cache_list_last->data)->msgnum;
+ } else
+ cache_cur_num = G_MAXINT;