diff options
author | CodaFi <devteam.codafi@gmail.com> | 2014-02-22 12:50:57 -0700 |
---|---|---|
committer | CodaFi <devteam.codafi@gmail.com> | 2014-02-22 12:50:57 -0700 |
commit | fb06d5133a88f80daed1a7d1bea00f558446f2ae (patch) | |
tree | ece8efd273d677da30d16e469a6a4a8aac681a7e /src/core | |
parent | 662a300de7b1d32d90fd6bbd52ecd1bcb7e93b5d (diff) | |
parent | ab6423330db251d1be421c8c781e1fbc042bd2d7 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/basetypes/MCData.cc | 16 | ||||
-rw-r--r-- | src/core/basetypes/MCHTMLCleaner.cc | 8 | ||||
-rw-r--r-- | src/core/basetypes/MCHashMap.cc | 2 | ||||
-rw-r--r-- | src/core/basetypes/MCJSONParser.cc | 2 | ||||
-rw-r--r-- | src/core/renderer/MCHTMLRendererCallback.cc | 2 |
5 files changed, 21 insertions, 9 deletions
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()); } |