From 6ea3534c94ced99a10682916c2718be8b93056da Mon Sep 17 00:00:00 2001 From: Dmitry Isaikin Date: Thu, 19 May 2016 20:58:38 +0400 Subject: Store last server response on login command in case of parse error (#1436) --- src/objc/imap/MCOIMAPCheckAccountOperation.mm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/objc/imap') 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]; } -- cgit v1.2.3