X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=imap%2Fimap.c;h=ac9363eca41788f17de4fae7fcd42828d5626c53;hp=77830f95e6aa732d76f7ecd95cb9f67032663968;hb=9946738a6a1c27a5602a14d1afe2eea2389732b2;hpb=ddc565e15e8d7e2eaeea568dd6602dc0347474c5 diff --git a/imap/imap.c b/imap/imap.c index 77830f9..ac9363e 100644 --- a/imap/imap.c +++ b/imap/imap.c @@ -241,7 +241,7 @@ static int imap_get_delim (IMAP_DATA * idata) if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE) break; - s = imap_next_word (idata->cmd.buf); + s = imap_next_word (idata->cmd.buf.data); if (ascii_strncasecmp ("LIST", s, 4) == 0) { s = imap_next_word (s); s = imap_next_word (s); @@ -276,7 +276,7 @@ static int imap_check_acl (IMAP_DATA * idata) static int imap_check_capabilities (IMAP_DATA * idata) { if (imap_exec (idata, "CAPABILITY", 0) != 0) { - imap_error ("imap_check_capabilities", idata->cmd.buf); + imap_error ("imap_check_capabilities", idata->cmd.buf.data); return -1; } @@ -329,12 +329,8 @@ IMAP_DATA *imap_conn_find (const ACCOUNT * account, int flags) if (!idata) { /* The current connection is a new connection */ - if (!(idata = imap_new_idata ())) { - mutt_socket_free (conn); - return NULL; - } - - conn->data = idata; + idata = imap_new_idata(); + conn->data = idata; idata->conn = conn; new = 1; } @@ -345,7 +341,7 @@ IMAP_DATA *imap_conn_find (const ACCOUNT * account, int flags) if (!imap_authenticate (idata)) { idata->state = IMAP_AUTHENTICATED; } else { - mutt_account_unsetpass (&idata->conn->account); + idata->conn->account.has_pass = 0; } p_delete(&idata->capstr); @@ -376,7 +372,7 @@ int imap_open_connection (IMAP_DATA * idata) return -1; } - if (ascii_strncasecmp ("* OK", idata->cmd.buf, 4) == 0) { + if (ascii_strncasecmp ("* OK", idata->cmd.buf.data, 4) == 0) { /* TODO: Parse new tagged CAPABILITY data (* OK [CAPABILITY...]) */ if (imap_check_capabilities (idata)) goto bail; @@ -412,7 +408,7 @@ int imap_open_connection (IMAP_DATA * idata) goto err_close_conn; } } - else if (ascii_strncasecmp ("* PREAUTH", idata->cmd.buf, 9) == 0) { + else if (ascii_strncasecmp ("* PREAUTH", idata->cmd.buf.data, 9) == 0) { idata->state = IMAP_AUTHENTICATED; if (imap_check_capabilities (idata) != 0) goto bail; @@ -535,7 +531,7 @@ static int imap_open_mailbox (CONTEXT * ctx) if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE) break; - pc = idata->cmd.buf + 2; + pc = idata->cmd.buf.data + 2; /* Obtain list of available flags here, may be overridden by a * PERMANENTFLAGS tag in the OK response */ @@ -577,7 +573,7 @@ static int imap_open_mailbox (CONTEXT * ctx) if (rc == IMAP_CMD_NO) { char *s; - s = imap_next_word (idata->cmd.buf); /* skip seq */ + s = imap_next_word (idata->cmd.buf.data); /* skip seq */ s = imap_next_word (s); /* Skip response */ mutt_error ("%s", s); mutt_sleep (2); @@ -589,7 +585,7 @@ static int imap_open_mailbox (CONTEXT * ctx) /* check for READ-ONLY notification */ if (!ascii_strncasecmp - (imap_get_qualifier (idata->cmd.buf), "[READ-ONLY]", 11) + (imap_get_qualifier (idata->cmd.buf.data), "[READ-ONLY]", 11) && !mutt_bit_isset (idata->capabilities, ACL)) { ctx->readonly = 1; } @@ -686,25 +682,8 @@ void imap_logout (IMAP_DATA * idata) idata->status = IMAP_BYE; imap_cmd_start (idata, "LOGOUT"); while (imap_cmd_step (idata) == IMAP_CMD_CONTINUE); - p_delete(&idata->cmd.buf); - p_delete(&idata); -} - -/* -int imap_close_connection (CONTEXT *ctx) -{ - if (CTX_DATA->status != IMAP_BYE) - { - mutt_message _("Closing connection to IMAP server..."); - imap_logout (CTX_DATA); - mutt_clear_error (); - } - mutt_socket_close (CTX_DATA->conn); - CTX_DATA->state = IMAP_DISCONNECTED; - CTX_DATA->conn->data = NULL; - return 0; + imap_free_idata(&idata); } -*/ /* imap_set_flag: append str to flags if we currently have permission * according to aclbit */ @@ -858,7 +837,7 @@ int imap_sync_message (IMAP_DATA *idata, HEADER *hdr, BUFFER *cmd, err_continue && (*err_continue != M_YES)) { *err_continue = imap_continue ("imap_sync_message: STORE failed", - idata->cmd.buf); + idata->cmd.buf.data); if (*err_continue != M_YES) return -1; } @@ -958,7 +937,7 @@ int imap_sync_mailbox (CONTEXT * ctx, int expunge, int *index_hint) /* Set expunge bit so we don't get spurious reopened messages */ idata->reopen |= IMAP_EXPUNGE_EXPECTED; if (imap_exec (idata, "EXPUNGE", 0) != 0) { - imap_error (_("imap_sync_mailbox: EXPUNGE failed"), idata->cmd.buf); + imap_error (_("imap_sync_mailbox: EXPUNGE failed"), idata->cmd.buf.data); rc = imap_reconnect (ctx); goto out; } @@ -1122,7 +1101,7 @@ int imap_mailbox_check (char *path, int new) if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE) break; - s = imap_next_word (idata->cmd.buf); + s = imap_next_word (idata->cmd.buf.data); if (ascii_strncasecmp ("STATUS", s, 6) == 0) { s = imap_next_word (s); /* The mailbox name may or may not be quoted here. We could try to @@ -1296,7 +1275,7 @@ int imap_parse_list_response (IMAP_DATA * idata, char **name, int *noselect, if (rc != IMAP_CMD_CONTINUE) return -1; - s = imap_next_word (idata->cmd.buf); + s = imap_next_word (idata->cmd.buf.data); if ((ascii_strncasecmp ("LIST", s, 4) == 0) || (ascii_strncasecmp ("LSUB", s, 4) == 0)) { *noselect = 0; @@ -1337,11 +1316,11 @@ int imap_parse_list_response (IMAP_DATA * idata, char **name, int *noselect, } s = imap_next_word (s); /* name */ if (s && *s == '{') { /* Literal */ - if (imap_get_literal_count (idata->cmd.buf, &bytes) < 0) + if (imap_get_literal_count (idata->cmd.buf.data, &bytes) < 0) return -1; if (imap_cmd_step (idata) != IMAP_CMD_CONTINUE) return -1; - *name = idata->cmd.buf; + *name = idata->cmd.buf.data; } else *name = s; @@ -1533,7 +1512,7 @@ int imap_complete (char *dest, size_t dlen, char *path) { completions++; } } - while (m_strncmp(idata->cmd.seq, idata->cmd.buf, SEQLEN)); + while (m_strncmp(idata->cmd.seq, idata->cmd.buf.data, SEQLEN)); if (completions) { /* reformat output */ @@ -1590,7 +1569,7 @@ static int imap_open_new_message (MESSAGE * msg, { char tmp[_POSIX_PATH_MAX]; - msg->fp = m_tempfile(tmp, sizeof(tmp), NONULL(MCore.tmpdir), NULL); + msg->fp = m_tempfile(tmp, sizeof(tmp), NONULL(mod_core.tmpdir), NULL); if (!msg->fp) { mutt_perror(tmp); return -1;