aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar CodaFi <devteam.codafi@gmail.com>2014-02-22 12:50:57 -0700
committerGravatar CodaFi <devteam.codafi@gmail.com>2014-02-22 12:50:57 -0700
commitfb06d5133a88f80daed1a7d1bea00f558446f2ae (patch)
treeece8efd273d677da30d16e469a6a4a8aac681a7e
parent662a300de7b1d32d90fd6bbd52ecd1bcb7e93b5d (diff)
parentab6423330db251d1be421c8c781e1fbc042bd2d7 (diff)
Merge remote-tracking branch 'upstream/master'
-rw-r--r--resources/providers.json3
-rw-r--r--src/core/basetypes/MCData.cc16
-rw-r--r--src/core/basetypes/MCHTMLCleaner.cc8
-rw-r--r--src/core/basetypes/MCHashMap.cc2
-rw-r--r--src/core/basetypes/MCJSONParser.cc2
-rw-r--r--src/core/renderer/MCHTMLRendererCallback.cc2
6 files changed, 23 insertions, 10 deletions
diff --git a/resources/providers.json b/resources/providers.json
index 03903de5..7286330a 100644
--- a/resources/providers.json
+++ b/resources/providers.json
@@ -23,7 +23,8 @@
},
"domain-match":[
"me\\.com",
- "mac\\.com"
+ "mac\\.com",
+ "icloud\\.com"
],
"mailboxes":{
"drafts":"Drafts",
diff --git a/src/core/basetypes/MCData.cc b/src/core/basetypes/MCData.cc
index 4cd38839..0a03316c 100644
--- a/src/core/basetypes/MCData.cc
+++ b/src/core/basetypes/MCData.cc
@@ -237,15 +237,19 @@ String * Data::stringWithDetectedCharset(String * hintCharset, bool isHTML)
String * result;
String * charset;
- if (!isHintCharsetValid(hintCharset)) {
- hintCharset = NULL;
+ if (hintCharset != NULL) {
+ hintCharset = normalizeCharset(hintCharset);
}
-
- if (hintCharset == NULL) {
- charset = charsetWithFilteredHTML(isHTML);
+ if (isHintCharsetValid(hintCharset)) {
+ charset = hintCharset;
}
else {
- charset = charsetWithFilteredHTML(isHTML, hintCharset);
+ if (hintCharset == NULL) {
+ charset = charsetWithFilteredHTML(isHTML);
+ }
+ else {
+ charset = charsetWithFilteredHTML(isHTML, hintCharset);
+ }
}
if (charset == NULL) {
diff --git a/src/core/basetypes/MCHTMLCleaner.cc b/src/core/basetypes/MCHTMLCleaner.cc
index 45271c10..78d2461a 100644
--- a/src/core/basetypes/MCHTMLCleaner.cc
+++ b/src/core/basetypes/MCHTMLCleaner.cc
@@ -17,6 +17,10 @@
#include "MCUtils.h"
#include "MCLog.h"
+#if __APPLE__
+#include <TargetConditionals.h>
+#endif
+
using namespace mailcore;
String * HTMLCleaner::cleanHTML(String * input)
@@ -34,6 +38,10 @@ String * HTMLCleaner::cleanHTML(String * input)
Data * data = input->dataUsingEncoding("utf-8");
tidyBufAppend(&docbuf, data->bytes(), data->length());
+#if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE
+ // This option is not available on the Mac.
+ tidyOptSetBool(tdoc, TidyDropEmptyElems, no);
+#endif
tidyOptSetBool(tdoc, TidyXhtmlOut, yes);
tidySetCharEncoding(tdoc, "utf8");
tidyOptSetBool(tdoc, TidyForceOutput, yes);
diff --git a/src/core/basetypes/MCHashMap.cc b/src/core/basetypes/MCHashMap.cc
index 41266c1b..536dbee1 100644
--- a/src/core/basetypes/MCHashMap.cc
+++ b/src/core/basetypes/MCHashMap.cc
@@ -312,7 +312,7 @@ void HashMap::importSerializable(HashMap * serializable)
else {
key = Object::objectWithSerializable((HashMap *) serializedKey);
}
- Object * value = Object::objectWithSerializable((HashMap *) keys->objectAtIndex(i));
+ Object * value = Object::objectWithSerializable((HashMap *) values->objectAtIndex(i));
setObjectForKey(key, value);
}
}
diff --git a/src/core/basetypes/MCJSONParser.cc b/src/core/basetypes/MCJSONParser.cc
index adac3570..d9f68204 100644
--- a/src/core/basetypes/MCJSONParser.cc
+++ b/src/core/basetypes/MCJSONParser.cc
@@ -47,7 +47,7 @@ String * JSONParser::content()
void JSONParser::setContent(String * content)
{
- MC_SAFE_REPLACE_COPY(String, mContent, content);
+ MC_SAFE_REPLACE_RETAIN(String, mContent, content);
}
unsigned int JSONParser::position()
diff --git a/src/core/renderer/MCHTMLRendererCallback.cc b/src/core/renderer/MCHTMLRendererCallback.cc
index bf408d4f..1028118e 100644
--- a/src/core/renderer/MCHTMLRendererCallback.cc
+++ b/src/core/renderer/MCHTMLRendererCallback.cc
@@ -154,7 +154,7 @@ mailcore::HashMap * HTMLRendererTemplateCallback::templateValuesForPart(mailcore
if (part->className()->isEqual(MCSTR("mailcore::IMAPPart"))) {
mailcore::IMAPPart * imapPart = (mailcore::IMAPPart *) part;
- mailcore::String * value = mailcore::SizeFormatter::stringWithSize(imapPart->size());
+ mailcore::String * value = mailcore::SizeFormatter::stringWithSize(imapPart->decodedSize());
result->setObjectForKey(MCSTR("SIZE"), value);
result->setObjectForKey(MCSTR("HASSIZE"), mailcore::HashMap::hashMap());
}