summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul J Stevens <paul@nfg.nl>2010-04-12 10:35:36 +0200
committerPaul J Stevens <paul@nfg.nl>2010-04-12 10:35:36 +0200
commit971074b09a7a88d9fb13ba260adce6e69c42e927 (patch)
tree59e9424a145eb7b06ef14ab3b56e662179c67778 /src
parent38cda31e5df40b96de2f26ffefb270cfc2f5a152 (diff)
testing libzdb-2.7
Diffstat (limited to 'src')
-rw-r--r--src/dbmail-imapsession.c20
-rw-r--r--src/dm_mailboxstate.c13
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");