aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2012-12-29 23:15:05 +0000
committerSteve Holme <steve_holme@hotmail.com>2012-12-29 23:15:05 +0000
commit1576548428326f210fd067b8d4323828f979091f (patch)
tree7e8b16f9ddc1c7738d7f7022df5efedf866f1d69
parent36837c10b275829d70a5e3d6d1f3dd8b9a68f43d (diff)
imap_doing: don't call imap_dophase_done() if already failed
Applied the POP3 fix from commit 2897ce7dc2e1 so imap_dophase_done() isn't called if imap_multi_statemach() fails.
-rw-r--r--lib/imap.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/imap.c b/lib/imap.c
index 72ede7e45..eefdaf278 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -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;