imap_doing: don't call imap_dophase_done() if already failed
authorSteve Holme <steve_holme@hotmail.com>
Sat, 29 Dec 2012 23:15:05 +0000 (23:15 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sat, 29 Dec 2012 23:15:05 +0000 (23:15 +0000)
Applied the POP3 fix from commit 2897ce7dc2e1 so imap_dophase_done()
isn't called if imap_multi_statemach() fails.

lib/imap.c

index 72ede7e45f59aba79f79f6c4e1f0c02c198e2df9..eefdaf278db6a9778318c439774ef351c056a78b 100644 (file)
@@ -1049,11 +1049,12 @@ static CURLcode imap_doing(struct connectdata *conn, bool *dophase_done)
 
   if(result)
     DEBUGF(infof(conn->data, "DO phase failed\n"));
+  else {
+    if(*dophase_done) {
+      result = imap_dophase_done(conn, FALSE /* not connected */);
 
-  if(*dophase_done) {
-    result = imap_dophase_done(conn, FALSE /* not connected */);
-
-    DEBUGF(infof(conn->data, "DO phase is complete\n"));
+      DEBUGF(infof(conn->data, "DO phase is complete\n"));
+    }
   }
 
   return result;