diff options
author | Paul J Stevens <paul@nfg.nl> | 2010-04-12 10:35:36 +0200 |
---|---|---|
committer | Paul J Stevens <paul@nfg.nl> | 2010-04-12 10:35:36 +0200 |
commit | 971074b09a7a88d9fb13ba260adce6e69c42e927 (patch) | |
tree | 59e9424a145eb7b06ef14ab3b56e662179c67778 /src | |
parent | 38cda31e5df40b96de2f26ffefb270cfc2f5a152 (diff) |
testing libzdb-2.7
Diffstat (limited to 'src')
-rw-r--r-- | src/dbmail-imapsession.c | 20 | ||||
-rw-r--r-- | src/dm_mailboxstate.c | 13 |
2 files changed, 22 insertions, 11 deletions
diff --git a/src/dbmail-imapsession.c b/src/dbmail-imapsession.c index 9416cf41..4b32044e 100644 --- a/src/dbmail-imapsession.c +++ b/src/dbmail-imapsession.c @@ -923,7 +923,11 @@ static int _fetch_get_items(ImapSession *self, u64_t *uid) SEND_SPACE; - dbmail_imap_session_message_load(self, DBMAIL_MESSAGE_FILTER_FULL); + if (! (dbmail_imap_session_message_load(self, DBMAIL_MESSAGE_FILTER_FULL))) { + dbmail_imap_session_buff_clear(self); + dbmail_imap_session_buff_printf(self, "\r\n* BYE error fetching body structure\r\n"); + return -1; + } if ((s = imap_get_structure(GMIME_MESSAGE((self->message)->content), 1))==NULL) { dbmail_imap_session_buff_clear(self); dbmail_imap_session_buff_printf(self, "\r\n* BYE error fetching body structure\r\n"); @@ -963,7 +967,13 @@ static int _fetch_get_items(ImapSession *self, u64_t *uid) SEND_SPACE; - dbmail_imap_session_message_load(self, DBMAIL_MESSAGE_FILTER_FULL); + if (! (dbmail_imap_session_message_load(self, DBMAIL_MESSAGE_FILTER_FULL))) { + dbmail_imap_session_buff_clear(self); + dbmail_imap_session_buff_printf(self, "\r\n* BYE error fetching message\r\n"); + return -1; + } + + dbmail_imap_session_buff_printf(self, "RFC822 {%llu}\r\n", Cache_get_size(self->cache) ); send_data(self, Cache_get_memdump(self->cache), Cache_get_size(self->cache) ); @@ -976,7 +986,11 @@ static int _fetch_get_items(ImapSession *self, u64_t *uid) SEND_SPACE; - dbmail_imap_session_message_load(self, DBMAIL_MESSAGE_FILTER_FULL); + if (! (dbmail_imap_session_message_load(self, DBMAIL_MESSAGE_FILTER_FULL))) { + dbmail_imap_session_buff_clear(self); + dbmail_imap_session_buff_printf(self, "\r\n* BYE error fetching message\r\n"); + return -1; + } if (dbmail_imap_session_bodyfetch_get_last_octetcnt(self) == 0) { dbmail_imap_session_buff_printf(self, "BODY[] {%llu}\r\n", Cache_get_size(self->cache) ); send_data(self, Cache_get_memdump(self->cache), Cache_get_size(self->cache) ); diff --git a/src/dm_mailboxstate.c b/src/dm_mailboxstate.c index 7787aa79..4b91fc7e 100644 --- a/src/dm_mailboxstate.c +++ b/src/dm_mailboxstate.c @@ -137,19 +137,17 @@ static T MailboxState_getMessageState(T M) if (t == DM_EQUERY) { db_con_close(c); - MailboxState_free(&M); - return NULL; + return M; } - db_con_clear(c); - - if (! i) { - TRACE(TRACE_DEBUG, "empty mailbox"); + if (! i) { // empty mailbox MailboxState_setMsginfo(M, msginfo); db_con_close(c); return M; } + db_con_clear(c); + memset(query,0,sizeof(query)); snprintf(query, DEF_QUERYSIZE, "SELECT k.message_idnr, keyword FROM %skeywords k " @@ -179,8 +177,7 @@ static T MailboxState_getMessageState(T M) if (t == DM_EQUERY) { g_tree_destroy(msginfo); - MailboxState_free(&M); - return NULL; + return M; } if (! nrows) TRACE(TRACE_DEBUG, "no keywords"); |