aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core/abstract/MCMessageHeader.cc33
-rw-r--r--tests/test-all.mm3
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")));