diff options
-rw-r--r-- | src/core/abstract/MCMessageHeader.cc | 33 | ||||
-rw-r--r-- | tests/test-all.mm | 3 |
2 files changed, 21 insertions, 15 deletions
diff --git a/src/core/abstract/MCMessageHeader.cc b/src/core/abstract/MCMessageHeader.cc index 2a3552fa..bdeb6907 100644 --- a/src/core/abstract/MCMessageHeader.cc +++ b/src/core/abstract/MCMessageHeader.cc @@ -295,32 +295,37 @@ String * MessageHeader::userAgent() return mUserAgent; } -void MessageHeader::setExtraHeaders(HashMap * headers) { +void MessageHeader::setExtraHeaders(HashMap * headers) +{ MC_SAFE_REPLACE_COPY(HashMap, mExtraHeaders, headers); } -Array * MessageHeader::allExtraHeadersNames() { +Array * MessageHeader::allExtraHeadersNames() +{ + if (mExtraHeaders == NULL) + return Array::array(); return mExtraHeaders->allKeys(); } -void MessageHeader::addHeader(String * name, String * object) { - if (mExtraHeaders == NULL) { +void MessageHeader::addHeader(String * name, String * object) +{ + if (mExtraHeaders == NULL) mExtraHeaders = new HashMap(); - } mExtraHeaders->setObjectForKey(name, object); } -void MessageHeader::removeHeader(String * name) { - if (mExtraHeaders != NULL) { - mExtraHeaders->removeObjectForKey(name); - } +void MessageHeader::removeHeader(String * name) +{ + if (mExtraHeaders == NULL) + return; + mExtraHeaders->removeObjectForKey(name); } -String * MessageHeader::headerValueForName(String * name) { - if (mExtraHeaders) { - return (String *) mExtraHeaders->objectForKey(name); - } - return NULL; +String * MessageHeader::headerValueForName(String * name) +{ + if (mExtraHeaders == NULL) + return NULL; + return (String *) mExtraHeaders->objectForKey(name); } String * MessageHeader::extractedSubject() diff --git a/tests/test-all.mm b/tests/test-all.mm index d4b00762..88eeabf1 100644 --- a/tests/test-all.mm +++ b/tests/test-all.mm @@ -53,9 +53,10 @@ static mailcore::Data * testMessageBuilder() bcc->addObject(mailcore::Address::addressWithDisplayName(MCSTR("Hidden Recipient"), MCSTR("foobar@bcc-recipient.org"))); msg->header()->setTo(to); msg->header()->setBcc(bcc); - msg->header()->addHeader(MCSTR("X-Custom-Header"), MCSTR("Custom Header Value")); to->release(); bcc->release(); + MCAssert(msg->header()->allExtraHeadersNames()->count() == 0); + msg->header()->addHeader(MCSTR("X-Custom-Header"), MCSTR("Custom Header Value")); msg->header()->setSubject(MCSTR("Mon projet d'été")); msg->setHTMLBody(MCSTR("<div>Hello <img src=\"cid:1234\"></div>")); msg->addAttachment(mailcore::Attachment::attachmentWithContentsOfFile(MCSTR("first-filename"))); |