diff options
Diffstat (limited to 'camel/providers/imap/camel-imap-summary.c')
-rw-r--r-- | camel/providers/imap/camel-imap-summary.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/camel/providers/imap/camel-imap-summary.c b/camel/providers/imap/camel-imap-summary.c index 74a024f760..66228649bc 100644 --- a/camel/providers/imap/camel-imap-summary.c +++ b/camel/providers/imap/camel-imap-summary.c @@ -169,20 +169,17 @@ message_info_load (CamelFolderSummary *s, FILE *in) CamelImapMessageInfo *iinfo; info = camel_imap_summary_parent->message_info_load (s, in); - if (!info) { - g_warning ("eek! encountered a NULL message info!"); - return NULL; - } - iinfo = (CamelImapMessageInfo *)info; + if (info) { + iinfo = (CamelImapMessageInfo *)info; - if (camel_folder_summary_decode_uint32 (in, &iinfo->server_flags) == -1) { - /* wouldn't it just be better to default to certain server flags here? */ - g_warning ("eek! problems decoding server flags!"); - camel_folder_summary_info_free (s, info); - return NULL; + if (camel_folder_summary_decode_uint32 (in, &iinfo->server_flags) == -1) + goto error; } return info; +error: + camel_folder_summary_info_free (s, info); + return NULL; } static int |