diff options
Diffstat (limited to 'libraries/libvmime-zarafa/patches/vmime-mixed-qp-in-parameter.diff')
-rw-r--r-- | libraries/libvmime-zarafa/patches/vmime-mixed-qp-in-parameter.diff | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libraries/libvmime-zarafa/patches/vmime-mixed-qp-in-parameter.diff b/libraries/libvmime-zarafa/patches/vmime-mixed-qp-in-parameter.diff new file mode 100644 index 0000000000..78e6c70e49 --- /dev/null +++ b/libraries/libvmime-zarafa/patches/vmime-mixed-qp-in-parameter.diff @@ -0,0 +1,28 @@ +Index: svn/src/parameter.cpp +=================================================================== +--- svn/src/parameter.cpp (revision 597) ++++ svn/src/parameter.cpp (working copy) +@@ -239,8 +239,21 @@ + { + value << t.getWholeBuffer(); + +- if (!foundCharsetChunk) +- ch = t.getWordAt(0)->getCharset(); ++ if (!foundCharsetChunk) { ++ // this is still wrong. each word can have it's ++ // own charset, and can be mixed (eg. iso-8859-1 ++ // and iso-2022-jp), but very unlikely. ++ // real fix is to have parameters store a ++ // vmime::text in stead of a vmime::word in ++ // m_value. but that changes the interface ++ for (size_t i = 0; i < t.getWordCount(); i++) { ++ if (t.getWordAt(i)->getCharset() != ch && ch == charsets::US_ASCII) { ++ ch = t.getWordAt(i)->getCharset(); ++ break; ++ } ++ } ++ ++ } + } + } + } |