X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=imap%2Fimap.c;h=ea2eb80fd6d10c8a076879126e81057fd3cf7852;hp=a9f57883c9731696e14a49c78996136690a5a059;hb=8297f3a57ccff9c0663551658cdd5d3bf166249d;hpb=bbaf5ab9813d18f9912e00fab83195e368e3f0d7 diff --git a/imap/imap.c b/imap/imap.c index a9f5788..ea2eb80 100644 --- a/imap/imap.c +++ b/imap/imap.c @@ -18,7 +18,6 @@ #include "globals.h" #include "pattern.h" #include "sort.h" -#include "browser.h" #include "message.h" #include "imap_private.h" #include "buffy.h" @@ -299,7 +298,6 @@ IMAP_DATA *imap_conn_find (const ACCOUNT * account, int flags) CONNECTION *conn; IMAP_DATA *idata; ACCOUNT *creds; - int new = 0; if (!(conn = mutt_conn_find (NULL, account))) return NULL; @@ -332,26 +330,28 @@ IMAP_DATA *imap_conn_find (const ACCOUNT * account, int flags) idata = imap_new_idata(); conn->data = idata; idata->conn = conn; - new = 1; } if (idata->state == IMAP_DISCONNECTED) imap_open_connection (idata); if (idata->state == IMAP_CONNECTED) { - if (!imap_authenticate (idata)) { + if (!imap_authenticate(idata)) { idata->state = IMAP_AUTHENTICATED; } else { + mutt_socket_close(idata->conn); + idata->state = IMAP_DISCONNECTED; idata->conn->account.has_pass = 0; } p_delete(&idata->capstr); } - if (new && idata->state == IMAP_AUTHENTICATED) { + if (idata->isnew && idata->state == IMAP_AUTHENTICATED) { imap_get_delim (idata); if (option (OPTIMAPCHECKSUBSCRIBED)) { mutt_message _("Checking mailbox subscriptions"); imap_exec (idata, "LSUB \"\" \"*\"", 0); } + idata->isnew = 0; } return idata; @@ -649,7 +649,7 @@ int imap_open_mailbox_append (CONTEXT * ctx) if (!(idata = imap_conn_find (&(mx.account), 0))) { p_delete(&mx.mbox); - return (-1); + return -1; } conn = idata->conn; @@ -671,7 +671,7 @@ int imap_open_mailbox_append (CONTEXT * ctx) if (imap_create_mailbox (idata, mailbox) < 0) return -1; - return (0); + return 0; } /* imap_logout: Gracefully log out of server. */ @@ -1335,8 +1335,6 @@ int imap_subscribe (char *path, int subscribe) IMAP_DATA *idata; char buf[LONG_STRING]; char mbox[LONG_STRING]; - char errstr[STRING]; - BUFFER err, token; IMAP_MBOX mx; if (mx_get_magic (path) != M_IMAP || imap_parse_path (path, &mx) < 0) { @@ -1352,13 +1350,7 @@ int imap_subscribe (char *path, int subscribe) imap_fix_path (idata, mx.mbox, buf, sizeof (buf)); if (option (OPTIMAPCHECKSUBSCRIBED)) { - p_clear(&token, 1); - err.data = errstr; - err.dsize = sizeof (errstr); - snprintf (mbox, sizeof (mbox), "%smailboxes \"%s\"", - subscribe ? "" : "un", path); - mutt_parse_rc_line (mbox, &token, &err); - p_delete(&token.data); + buffy_do_mailboxes(path, subscribe); } if (subscribe) @@ -1404,7 +1396,7 @@ static int imap_complete_hosts (char *dest, ssize_t len) { matchlen = m_strlen(dest); if (!Incoming.len) - return (-1); + return -1; for (i = 0; i < Incoming.len; i++) { mailbox = Incoming.arr[i]; if (!m_strncmp(dest, mailbox->path, matchlen)) { @@ -1532,7 +1524,7 @@ int imap_reconnect (CONTEXT * ctx) IMAP_DATA *imap_data; if (!ctx) - return (-1); + return -1; imap_data = (IMAP_DATA *) ctx->data; @@ -1553,9 +1545,9 @@ int imap_reconnect (CONTEXT * ctx) int imap_is_magic (const char* path, struct stat* st __attribute__ ((unused))) { url_scheme_t s; if (!path || !*path) - return (-1); + return -1; s = url_check_scheme (NONULL (path)); - return ((s == U_IMAP || s == U_IMAPS) ? M_IMAP : -1); + return (s == U_IMAP || s == U_IMAPS) ? M_IMAP : -1; } static int acl_check_imap (CONTEXT* ctx, int bit) { @@ -1569,7 +1561,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; @@ -1584,7 +1576,7 @@ static int imap_open_new_message (MESSAGE * msg, static int _imap_check_mailbox (CONTEXT* ctx, int* index_hint, int lock __attribute__ ((unused))) { - return (imap_check_mailbox (ctx, index_hint, 0)); + return imap_check_mailbox (ctx, index_hint, 0); } static int imap_commit_message (MESSAGE* msg, CONTEXT* ctx) { @@ -1592,7 +1584,7 @@ static int imap_commit_message (MESSAGE* msg, CONTEXT* ctx) { if ((r = m_fclose(&msg->fp)) == 0) r = imap_append_message (ctx, msg); - return (r); + return r; } mx_t const imap_mx = { @@ -1603,6 +1595,7 @@ mx_t const imap_mx = { imap_access, imap_open_mailbox, imap_open_new_message, + imap_fetch_message, acl_check_imap, _imap_check_mailbox, imap_close_mailbox,