aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/rfc822
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-01-03 23:10:15 -0800
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-01-03 23:10:24 -0800
commitda10b9124b52e34ac49edd1120bc04926e0a44e6 (patch)
treee0b788d613d7cac4408a983dfedd55721fbdc187 /src/core/rfc822
parenta54deab9ad377fb36b21ec1fd67a67cb71824ea9 (diff)
Refactoring, fixed #1013
Diffstat (limited to 'src/core/rfc822')
-rw-r--r--src/core/rfc822/MCMessageParser.cpp15
-rw-r--r--src/core/rfc822/MCMessageParser.h1
2 files changed, 15 insertions, 1 deletions
diff --git a/src/core/rfc822/MCMessageParser.cpp b/src/core/rfc822/MCMessageParser.cpp
index 404bc862..71071c02 100644
--- a/src/core/rfc822/MCMessageParser.cpp
+++ b/src/core/rfc822/MCMessageParser.cpp
@@ -72,6 +72,11 @@ void MessageParser::setBytes(char * dataBytes, unsigned int dataLength)
mailmessage_free(msg);
}
+MessageParser::MessageParser()
+{
+ init();
+}
+
MessageParser::MessageParser(Data * data)
{
init();
@@ -118,7 +123,9 @@ String * MessageParser::description()
String * result = String::string();
result->appendUTF8Format("<%s:%p ", MCUTF8(className()), this);
result->appendUTF8Format("<%p>", mMainPart);
- result->appendString(mMainPart->description());
+ if (mMainPart != NULL) {
+ result->appendString(mMainPart->description());
+ }
result->appendUTF8Characters(">");
return result;
@@ -140,11 +147,17 @@ Object * MessageParser::copy()
AbstractPart * MessageParser::partForContentID(String * contentID)
{
+ if (mainPart() == NULL) {
+ return NULL;
+ }
return mainPart()->partForContentID(contentID);
}
AbstractPart * MessageParser::partForUniqueID(String * uniqueID)
{
+ if (mainPart() == NULL) {
+ return NULL;
+ }
return mainPart()->partForUniqueID(uniqueID);
}
diff --git a/src/core/rfc822/MCMessageParser.h b/src/core/rfc822/MCMessageParser.h
index 8d2fe4a6..048cee60 100644
--- a/src/core/rfc822/MCMessageParser.h
+++ b/src/core/rfc822/MCMessageParser.h
@@ -20,6 +20,7 @@ namespace mailcore {
static MessageParser * messageParserWithData(Data * data);
static MessageParser * messageParserWithContentsOfFile(String * filename);
+ MessageParser();
MessageParser(Data * data);
virtual ~MessageParser();