aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc/imap
diff options
context:
space:
mode:
authorGravatar Dmitry Isaikin <isaikin-dmitry@yandex.ru>2016-05-19 20:58:38 +0400
committerGravatar HoĆ  V. DINH <dinh.viet.hoa@gmail.com>2016-05-19 09:58:38 -0700
commit6ea3534c94ced99a10682916c2718be8b93056da (patch)
treeea797cad294800cef0ca4a3b03dbc72230894c47 /src/objc/imap
parent6a720fd8bf82d6220330f148ca8ad351b690a9fd (diff)
Store last server response on login command in case of parse error (#1436)
Diffstat (limited to 'src/objc/imap')
-rw-r--r--src/objc/imap/MCOIMAPCheckAccountOperation.mm7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/objc/imap/MCOIMAPCheckAccountOperation.mm b/src/objc/imap/MCOIMAPCheckAccountOperation.mm
index 0c6161c4..0c9f7e51 100644
--- a/src/objc/imap/MCOIMAPCheckAccountOperation.mm
+++ b/src/objc/imap/MCOIMAPCheckAccountOperation.mm
@@ -62,9 +62,12 @@ typedef void (^CompletionType)(NSError *error);
_completionBlock(nil);
} else {
NSError * error = [NSError mco_errorWithErrorCode:op->error()];
- if (op->loginResponse() != NULL) {
+ if (op->loginResponse() != NULL || op->loginUnparsedResponseData() != NULL) {
NSMutableDictionary * userInfo = [[error userInfo] mutableCopy];
- userInfo[MCOIMAPResponseKey] = MCO_TO_OBJC(op->loginResponse());
+ if (op->loginResponse() != NULL)
+ userInfo[MCOIMAPResponseKey] = MCO_TO_OBJC(op->loginResponse());
+ if (op->loginUnparsedResponseData() != NULL)
+ userInfo[MCOIMAPUnparsedResponseDataKey] = MCO_TO_OBJC(op->loginUnparsedResponseData());
error = [NSError errorWithDomain:[error domain] code:[error code] userInfo:userInfo];
[userInfo release];
}