diff options
author | 2013-07-08 08:01:17 -0400 | |
---|---|---|
committer | 2013-07-08 08:01:17 -0400 | |
commit | 68bff8ae2c13a03fdc10c2900c094a2437400da2 (patch) | |
tree | 7272330157407b561e66f918eab2c4323c5574c2 /src/core/imap | |
parent | e9e1c12f6676b02e6c84f43358bcee14d70ac037 (diff) |
Updated error handling.
Diffstat (limited to 'src/core/imap')
-rw-r--r-- | src/core/imap/MCIMAPSession.cc | 27 |
1 files changed, 16 insertions, 11 deletions
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(" ")); |