URLs.
irc = imap_cmd_step (idata);
while (irc == IMAP_CMD_CONTINUE);
- if (irc == IMAP_CMD_FAIL)
+ if (irc == IMAP_CMD_FAIL || irc == IMAP_CMD_NO)
goto bail;
if (irc == IMAP_CMD_RESPOND)
if (!mutt_strncmp (idata->buf, idata->seq, SEQLEN))
{
cmd_finish (idata);
- return IMAP_CMD_DONE;
+ return imap_code (idata->buf) ? IMAP_CMD_DONE : IMAP_CMD_NO;
}
return IMAP_CMD_CONTINUE;
/* IMAP command responses */
#define IMAP_CMD_DONE (0)
#define IMAP_CMD_FAIL (-1)
+#define IMAP_CMD_NO (-2)
#define IMAP_CMD_CONTINUE (1)
#define IMAP_CMD_RESPOND (2)
#include "mime.h"
#include "mailbox.h"
#include "mx.h"
+#include "url.h"
#ifdef HAVE_PGP
#include "pgp.h"
char *p = s, *q = s;
size_t len;
+ /* if s is an url, only collapse path component */
+ if (url_check_scheme (s) != U_UNKNOWN)
+ {
+ p = strchr(s, ':')+1;
+ if (!strncmp (p, "//", 2))
+ q = strchr (p+2, '/');
+ if (!q)
+ q = p;
+ else
+ p = q;
+ }
+
/* first attempt to collapse the pathname */
while (*p)
{