aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Robert Widmann <devteam.codafi@gmail.com>2014-10-22 17:30:26 -0600
committerGravatar Robert Widmann <devteam.codafi@gmail.com>2014-10-22 17:30:26 -0600
commit96a8429b8cbebfe970a7411815e9e036313b7f64 (patch)
tree28e379764c570231485e86d2fbb1a30e3dcb24ba /src
parentc26a7cef6b336ac8ee72061f0fff257415287cb9 (diff)
parentfbf32fa6e0c634bc25b2b84ff1cc262a0ab819b1 (diff)
Merge remote-tracking branch 'upstream/master' into NNTP-Cleanup
Diffstat (limited to 'src')
-rwxr-xr-xsrc/core/imap/MCIMAPSession.cc2
-rw-r--r--src/core/renderer/MCDateFormatter.cc6
-rw-r--r--src/core/rfc822/MCAttachment.cc6
-rw-r--r--src/core/rfc822/MCMessageBuilder.cc5
-rw-r--r--src/core/rfc822/MCMessageBuilder.h1
-rw-r--r--src/core/rfc822/MCMessageParser.cc9
-rw-r--r--src/core/rfc822/MCMessageParser.h2
-rw-r--r--src/objc/rfc822/MCOMessageBuilder.mm5
8 files changed, 32 insertions, 4 deletions
diff --git a/src/core/imap/MCIMAPSession.cc b/src/core/imap/MCIMAPSession.cc
index 50602842..f9cb561b 100755
--- a/src/core/imap/MCIMAPSession.cc
+++ b/src/core/imap/MCIMAPSession.cc
@@ -3172,7 +3172,7 @@ IMAPIdentity * IMAPSession::identity(IMAPIdentity * clientIdentity, ErrorCode *
char * dup_value;
dup_name = strdup(key->UTF8Characters());
- dup_value = strdup(clientIdentity->name()->UTF8Characters());
+ dup_value = strdup(clientIdentity->infoForKey(key)->UTF8Characters());
mailimap_id_params_list_add_name_value(client_identification, dup_name, dup_value);
}
diff --git a/src/core/renderer/MCDateFormatter.cc b/src/core/renderer/MCDateFormatter.cc
index 96d347d5..4938d5ec 100644
--- a/src/core/renderer/MCDateFormatter.cc
+++ b/src/core/renderer/MCDateFormatter.cc
@@ -8,10 +8,11 @@
#include "MCDateFormatter.h"
#include <stdlib.h>
-#include <unicode/udat.h>
#if defined(__APPLE__)
#define USE_COREFOUNDATION 1
+#else
+#include <unicode/udat.h>
#endif
#if USE_COREFOUNDATION
@@ -37,10 +38,11 @@ DateFormatter::~DateFormatter()
if (mAppleDateFormatter != NULL) {
CFRelease(mAppleDateFormatter);
}
-#endif
+#else
if (mDateFormatter != NULL) {
udat_close(mDateFormatter);
}
+#endif
MC_SAFE_RELEASE(mDateFormat);
MC_SAFE_RELEASE(mTimezone);
MC_SAFE_RELEASE(mLocale);
diff --git a/src/core/rfc822/MCAttachment.cc b/src/core/rfc822/MCAttachment.cc
index 63551b6a..71eea11d 100644
--- a/src/core/rfc822/MCAttachment.cc
+++ b/src/core/rfc822/MCAttachment.cc
@@ -130,13 +130,17 @@ String * Attachment::mimeTypeForFilename(String * filename)
Attachment * Attachment::attachmentWithContentsOfFile(String * filename)
{
+ if (filename == NULL) {
+ return attachmentWithData(NULL, Data::data());
+ }
+
const char * cPath = filename->fileSystemRepresentation();
struct stat statinfo;
int r;
r = stat(cPath, &statinfo);
if (r < 0) {
- return NULL;
+ return attachmentWithData(filename, Data::data());
}
if (S_ISDIR(statinfo.st_mode)) {
diff --git a/src/core/rfc822/MCMessageBuilder.cc b/src/core/rfc822/MCMessageBuilder.cc
index 0ffe0819..efccbee0 100644
--- a/src/core/rfc822/MCMessageBuilder.cc
+++ b/src/core/rfc822/MCMessageBuilder.cc
@@ -948,3 +948,8 @@ void MessageBuilder::resetBoundaries()
mBoundaries->removeAllObjects();
}
+void MessageBuilder::setBoundaries(Array * boundaries)
+{
+ resetBoundaries();
+ mBoundaries->addObjectsFromArray(boundaries);
+}
diff --git a/src/core/rfc822/MCMessageBuilder.h b/src/core/rfc822/MCMessageBuilder.h
index aef594a1..07c4795e 100644
--- a/src/core/rfc822/MCMessageBuilder.h
+++ b/src/core/rfc822/MCMessageBuilder.h
@@ -58,6 +58,7 @@ namespace mailcore {
public: // private
virtual String * nextBoundary();
virtual void resetBoundaries();
+ virtual void setBoundaries(Array * boundaries);
private:
String * mHTMLBody;
diff --git a/src/core/rfc822/MCMessageParser.cc b/src/core/rfc822/MCMessageParser.cc
index 21e2e985..4eb6046e 100644
--- a/src/core/rfc822/MCMessageParser.cc
+++ b/src/core/rfc822/MCMessageParser.cc
@@ -103,6 +103,15 @@ String * MessageParser::description()
return result;
}
+HashMap * MessageParser::serializable()
+{
+ HashMap * result = AbstractMessage::serializable();
+ if (mMainPart != NULL) {
+ result->setObjectForKey(MCSTR("mainPart"), mMainPart->serializable());
+ }
+ return result;
+}
+
Object * MessageParser::copy()
{
return new MessageParser(this);
diff --git a/src/core/rfc822/MCMessageParser.h b/src/core/rfc822/MCMessageParser.h
index 11de9b58..bf4687cb 100644
--- a/src/core/rfc822/MCMessageParser.h
+++ b/src/core/rfc822/MCMessageParser.h
@@ -37,6 +37,8 @@ namespace mailcore {
virtual AbstractPart * partForContentID(String * contentID);
virtual AbstractPart * partForUniqueID(String * uniqueID);
+ virtual HashMap * serializable();
+
private:
Data * mData;
AbstractPart * mMainPart;
diff --git a/src/objc/rfc822/MCOMessageBuilder.mm b/src/objc/rfc822/MCOMessageBuilder.mm
index c122ab14..090fc99d 100644
--- a/src/objc/rfc822/MCOMessageBuilder.mm
+++ b/src/objc/rfc822/MCOMessageBuilder.mm
@@ -110,4 +110,9 @@ MCO_OBJC_SYNTHESIZE_STRING(setBoundaryPrefix, boundaryPrefix)
return MCO_TO_OBJC(MCO_NATIVE_INSTANCE->openPGPEncryptedMessageDataWithEncryptedData(MCO_FROM_OBJC(mailcore::Data, encryptedData)));
}
+- (void) _setBoundaries:(NSArray *)boundaries
+{
+ MCO_NATIVE_INSTANCE->setBoundaries(MCO_FROM_OBJC(mailcore::Array, boundaries));
+}
+
@end