From: Arnaud Lacombe <al@sigfpe.info>
[apps/madmutt.git] / imap / util.c
index ecf5d53..fa54de6 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "mutt.h"
 #include "mx.h"                 /* for M_IMAP */
+#include "ascii.h"
 #include "url.h"
 #include "imap_private.h"
 #include "mutt_ssl.h"
@@ -98,7 +99,7 @@ int imap_parse_path (const char *path, IMAP_MBOX * mx)
   url_parse_ciss (&url, c);
 
   if (!(url.scheme == U_IMAP || url.scheme == U_IMAPS) ||
-      mutt_account_fromurl (&mx->account, &url) < 0) {
+      mutt_account_fromurl (&mx->account, &url) < 0 || !*mx->account.host) {
     mem_free (&c);
     return -1;
   }
@@ -515,9 +516,11 @@ int imap_wait_keepalive (pid_t pid)
   int rc;
 
   short imap_passive = option (OPTIMAPPASSIVE);
+  int imap_askreconnect = quadoption (OPT_IMAPRECONNECT);
 
   set_option (OPTIMAPPASSIVE);
   set_option (OPTKEEPQUIET);
+  set_quadoption (OPT_IMAPRECONNECT, M_NO);
 
   sigprocmask (SIG_SETMASK, NULL, &oldmask);
 
@@ -546,6 +549,7 @@ int imap_wait_keepalive (pid_t pid)
   unset_option (OPTKEEPQUIET);
   if (!imap_passive)
     unset_option (OPTIMAPPASSIVE);
+  set_quadoption (OPT_IMAPRECONNECT, imap_askreconnect);
 
   return rc;
 }