From 68bff8ae2c13a03fdc10c2900c094a2437400da2 Mon Sep 17 00:00:00 2001 From: Paul Young Date: Mon, 8 Jul 2013 08:01:17 -0400 Subject: Updated error handling. --- src/core/imap/MCIMAPSession.cc | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'src/core/imap/MCIMAPSession.cc') diff --git a/src/core/imap/MCIMAPSession.cc b/src/core/imap/MCIMAPSession.cc index d5df70cb..2b3c2baf 100644 --- a/src/core/imap/MCIMAPSession.cc +++ b/src/core/imap/MCIMAPSession.cc @@ -3024,26 +3024,23 @@ ConnectionLogger * IMAPSession::connectionLogger() String * IMAPSession::htmlRendering(IMAPMessage * message, String * folder, ErrorCode * pError) { - if (* pError != ErrorNone) { - return NULL; - } - HTMLRendererIMAPDataCallback * dataCallback = new HTMLRendererIMAPDataCallback(this, message->uid()); String * htmlString = HTMLRenderer::htmlForIMAPMessage(folder, message, dataCallback, NULL); - + * pError = dataCallback->error(); + + if (* pError != ErrorNone) { + return NULL; + } + MC_SAFE_RELEASE(dataCallback); return htmlString; } String * IMAPSession::htmlBodyRendering(IMAPMessage * message, String * folder, ErrorCode * pError) { - if (* pError != ErrorNone) { - return NULL; - } - HTMLRendererIMAPDataCallback * dataCallback = new HTMLRendererIMAPDataCallback(this, message->uid()); HTMLBodyRendererTemplateCallback * htmlCallback = new HTMLBodyRendererTemplateCallback(); @@ -3052,6 +3049,12 @@ String * IMAPSession::htmlBodyRendering(IMAPMessage * message, String * folder, dataCallback, htmlCallback); + * pError = dataCallback->error(); + + if (* pError != ErrorNone) { + return NULL; + } + MC_SAFE_RELEASE(dataCallback); MC_SAFE_RELEASE(htmlCallback); return htmlBodyString; @@ -3059,22 +3062,24 @@ String * IMAPSession::htmlBodyRendering(IMAPMessage * message, String * folder, String * IMAPSession::plainTextRendering(IMAPMessage * message, String * folder, ErrorCode * pError) { + String * htmlString = htmlRendering(message, folder, pError); + if (* pError != ErrorNone) { return NULL; } - String * htmlString = htmlRendering(message, folder, pError); String * plainTextString = htmlString->flattenHTML(); return plainTextString; } String * IMAPSession::plainTextBodyRendering(IMAPMessage * message, String * folder, ErrorCode * pError) { + String * htmlBodyString = htmlBodyRendering(message, folder, pError); + if (* pError != ErrorNone) { return NULL; } - String * htmlBodyString = htmlBodyRendering(message, folder, pError); String * plainTextBodyString = htmlBodyString->flattenHTML(); plainTextBodyString->replaceOccurrencesOfString(MCSTR("\t"), MCSTR(" ")); -- cgit v1.2.3