aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/imap
diff options
context:
space:
mode:
authorGravatar Paul Young <paulyoungonline@gmail.com>2013-07-08 08:01:17 -0400
committerGravatar Paul Young <paulyoungonline@gmail.com>2013-07-08 08:01:17 -0400
commit68bff8ae2c13a03fdc10c2900c094a2437400da2 (patch)
tree7272330157407b561e66f918eab2c4323c5574c2 /src/core/imap
parente9e1c12f6676b02e6c84f43358bcee14d70ac037 (diff)
Updated error handling.
Diffstat (limited to 'src/core/imap')
-rw-r--r--src/core/imap/MCIMAPSession.cc27
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(" "));