X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=imap%2Fimap.c;h=76d9f8b1a4e35996cdef5ad2f36a3220dfcf9f5b;hp=0aa906b65ca80414685eda18d35d32bcb662d9aa;hb=debd2491451020d9fd5f0440bb2dada0b9eac6e7;hpb=814a01519c9605d479201b99eb16c97b0ad8635d diff --git a/imap/imap.c b/imap/imap.c index 0aa906b..76d9f8b 100644 --- a/imap/imap.c +++ b/imap/imap.c @@ -905,7 +905,7 @@ int imap_sync_message (IMAP_DATA *idata, HEADER *hdr, BUFFER *cmd, if (mutt_bit_isset (idata->rights, ACL_WRITE)) imap_add_keywords (flags, hdr, idata->flags, sizeof (flags)); - mutt_remove_trailing_ws (flags); + str_skip_trailws (flags); /* UW-IMAP is OK with null flags, Cyrus isn't. The only solution is to * explicitly revoke all system flags (if we have permission) */ @@ -916,7 +916,7 @@ int imap_sync_message (IMAP_DATA *idata, HEADER *hdr, BUFFER *cmd, imap_set_flag (idata, ACL_WRITE, 1, "\\Answered ", flags, sizeof (flags)); imap_set_flag (idata, ACL_DELETE, 1, "\\Deleted ", flags, sizeof (flags)); - mutt_remove_trailing_ws (flags); + str_skip_trailws (flags); mutt_buffer_addstr (cmd, " -FLAGS.SILENT ("); } else @@ -1017,7 +1017,7 @@ int imap_sync_mailbox (CONTEXT * ctx, int expunge, int *index_hint) /* if the message has been rethreaded or attachments have been deleted * we delete the message and reupload it. * This works better if we're expunging, of course. */ - if (ctx->hdrs[n]->refs_changed || ctx->hdrs[n]->irt_changed || + if ((ctx->hdrs[n]->env && (ctx->hdrs[n]->env->refs_changed || ctx->hdrs[n]->env->irt_changed)) || ctx->hdrs[n]->attach_del) { debug_print (3, ("Attachments to be deleted, falling back to _mutt_save_message\n")); if (!appendctx) @@ -1046,7 +1046,7 @@ int imap_sync_mailbox (CONTEXT * ctx, int expunge, int *index_hint) idata->reopen |= IMAP_EXPUNGE_EXPECTED; if (imap_exec (idata, "EXPUNGE", 0) != 0) { imap_error (_("imap_sync_mailbox: EXPUNGE failed"), idata->cmd.buf); - rc = -1; + rc = imap_reconnect (ctx); goto out; } } @@ -1176,7 +1176,7 @@ int imap_mailbox_check (char *path, int new) * command on a mailbox that you have selected */ - if (safe_strcmp (mbox_unquoted, idata->mailbox) == 0 + if (mutt_strcmp (mbox_unquoted, idata->mailbox) == 0 || (ascii_strcasecmp (mbox_unquoted, "INBOX") == 0 && safe_strcasecmp (mbox_unquoted, idata->mailbox) == 0)) { strfcpy (buf, "NOOP", sizeof (buf)); @@ -1203,8 +1203,8 @@ int imap_mailbox_check (char *path, int new) /* The mailbox name may or may not be quoted here. We could try to * munge the server response and compare with quoted (or vise versa) * but it is probably more efficient to just strncmp against both. */ - if (safe_strncmp (mbox_unquoted, s, safe_strlen (mbox_unquoted)) == 0 - || safe_strncmp (mbox, s, safe_strlen (mbox)) == 0) { + if (safe_strncmp (mbox_unquoted, s, mutt_strlen (mbox_unquoted)) == 0 + || safe_strncmp (mbox, s, mutt_strlen (mbox)) == 0) { s = imap_next_word (s); s = imap_next_word (s); if (isdigit ((unsigned char) *s)) { @@ -1392,14 +1392,14 @@ int imap_complete (char *dest, size_t dlen, char *path) /* if the folder isn't selectable, append delimiter to force browse * to enter it on second tab. */ if (noselect) { - clen = safe_strlen (list_word); + clen = mutt_strlen (list_word); list_word[clen++] = delim; list_word[clen] = '\0'; } /* copy in first word */ if (!completions) { strfcpy (completion, list_word, sizeof (completion)); - matchlen = safe_strlen (completion); + matchlen = mutt_strlen (completion); completions++; continue; }