diff options
Diffstat (limited to 'camel/providers/imap4/camel-imap4-folder.c')
-rw-r--r-- | camel/providers/imap4/camel-imap4-folder.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/camel/providers/imap4/camel-imap4-folder.c b/camel/providers/imap4/camel-imap4-folder.c index 7ee109a5b4..921d7aa2ed 100644 --- a/camel/providers/imap4/camel-imap4-folder.c +++ b/camel/providers/imap4/camel-imap4-folder.c @@ -459,7 +459,7 @@ imap4_sync_changes (CamelFolder *folder, GPtrArray *sync, CamelException *ex) for (j = 0; j < sync->len; j++) { iinfo = (CamelIMAP4MessageInfo *) (info = sync->pdata[j]); - camel_imap4_flags_diff (&diff, iinfo->server_flags, info->flags); + camel_imap4_flags_diff (&diff, iinfo->server_flags, iinfo->info.flags); if (diff.changed & imap4_flags[i].flag) { if (diff.bits & imap4_flags[i].flag) { g_ptr_array_add (on_set, info); @@ -492,8 +492,8 @@ imap4_sync_changes (CamelFolder *folder, GPtrArray *sync, CamelException *ex) for (i = 0; i < sync->len; i++) { iinfo = (CamelIMAP4MessageInfo *) (info = sync->pdata[i]); - info->flags &= ~CAMEL_MESSAGE_FOLDER_FLAGGED; - iinfo->server_flags = info->flags & folder->permanent_flags; + iinfo->info.flags &= ~CAMEL_MESSAGE_FOLDER_FLAGGED; + iinfo->server_flags = iinfo->info.flags & folder->permanent_flags; } return 0; @@ -522,17 +522,17 @@ imap4_sync (CamelFolder *folder, gboolean expunge, CamelException *ex) max = camel_folder_summary_count (folder->summary); for (i = 0; i < max; i++) { iinfo = (CamelIMAP4MessageInfo *) (info = camel_folder_summary_index (folder->summary, i)); - if (info->flags & CAMEL_MESSAGE_FOLDER_FLAGGED) { - camel_imap4_flags_diff (&diff, iinfo->server_flags, info->flags); + if (iinfo->info.flags & CAMEL_MESSAGE_FOLDER_FLAGGED) { + camel_imap4_flags_diff (&diff, iinfo->server_flags, iinfo->info.flags); diff.changed &= folder->permanent_flags; /* weed out flag changes that we can't sync to the server */ if (!diff.changed) - camel_folder_summary_info_free (folder->summary, info); + camel_message_info_free(info); else g_ptr_array_add (sync, info); } else { - camel_folder_summary_info_free (folder->summary, info); + camel_message_info_free(info); } } @@ -540,7 +540,7 @@ imap4_sync (CamelFolder *folder, gboolean expunge, CamelException *ex) retval = imap4_sync_changes (folder, sync, ex); for (i = 0; i < sync->len; i++) - camel_folder_summary_info_free (folder->summary, sync->pdata[i]); + camel_message_info_free(sync->pdata[i]); g_ptr_array_free (sync, TRUE); @@ -695,7 +695,7 @@ untagged_fetch (CamelIMAP4Engine *engine, CamelIMAP4Command *ic, guint32 index, if ((info = camel_folder_summary_index (summary, index - 1))) { iinfo = (CamelIMAP4MessageInfo *) info; - info->flags = camel_imap4_merge_flags (iinfo->server_flags, info->flags, flags); + iinfo->info.flags = camel_imap4_merge_flags (iinfo->server_flags, iinfo->info.flags, flags); iinfo->server_flags = flags; changes = camel_folder_change_info_new (); @@ -703,7 +703,7 @@ untagged_fetch (CamelIMAP4Engine *engine, CamelIMAP4Command *ic, guint32 index, camel_object_trigger_event (engine->folder, "folder_changed", changes); camel_folder_change_info_free (changes); - camel_folder_summary_info_free (summary, info); + camel_message_info_free(info); } } else { /* wtf? */ @@ -856,6 +856,7 @@ imap4_append_message (CamelFolder *folder, CamelMimeMessage *message, CamelIMAP4Engine *engine = ((CamelIMAP4Store *) folder->parent_store)->engine; CamelSession *session = ((CamelService *) folder->parent_store)->session; CamelIMAP4Summary *summary = (CamelIMAP4Summary *) folder->summary; + const CamelIMAP4MessageInfo *iinfo = (const CamelIMAP4MessageInfo *)info; CamelIMAP4RespCode *resp; CamelIMAP4Command *ic; CamelFolderInfo *fi; @@ -873,11 +874,11 @@ imap4_append_message (CamelFolder *folder, CamelMimeMessage *message, CAMEL_SERVICE_LOCK (folder->parent_store, connect_lock); /* construct the option flags list */ - if (info->flags & folder->permanent_flags) { + if (iinfo->info.flags & folder->permanent_flags) { p = g_stpcpy (flags, " ("); for (i = 0; i < G_N_ELEMENTS (imap4_flags); i++) { - if ((info->flags & imap4_flags[i].flag) & folder->permanent_flags) { + if ((iinfo->info.flags & imap4_flags[i].flag) & folder->permanent_flags) { p = g_stpcpy (p, imap4_flags[i].name); *p++ = ' '; } @@ -890,13 +891,13 @@ imap4_append_message (CamelFolder *folder, CamelMimeMessage *message, } /* construct the optional date_time string */ - if (info->date_received != (time_t) -1) { + if (iinfo->info.date_received != (time_t) -1) { int tzone; #ifdef HAVE_LOCALTIME_R localtime_r (&info->date_received, &tm); #else - memcpy (&tm, localtime (&info->date_received), sizeof (tm)); + memcpy (&tm, localtime (&iinfo->info.date_received), sizeof (tm)); #endif #if defined (HAVE_TM_GMTOFF) @@ -1118,7 +1119,7 @@ imap4_transfer_messages_to (CamelFolder *src, GPtrArray *uids, CamelFolder *dest done: for (i = 0; i < infos->len; i++) - camel_folder_summary_info_free (src->summary, infos->pdata[i]); + camel_message_info_free(infos->pdata[i]); g_ptr_array_free (infos, TRUE); CAMEL_SERVICE_LOCK (src->parent_store, connect_lock); |