# HG changeset patch # User Mark Brand # Date 1283845824 -7200 # Node ID 6a4d3383c783802c31a9cc24e1949106732fbea7 # Parent 958bb777b562668e277d99a175d822d09601e92c upgrade package vmime diff -r 958bb777b562 -r 6a4d3383c783 src/vmime-1-fastforward.patch --- a/src/vmime-1-fastforward.patch Tue Sep 07 00:18:41 2010 +0200 +++ b/src/vmime-1-fastforward.patch Tue Sep 07 09:50:24 2010 +0200 @@ -17258,3 +17258,49 @@ } else { + +commit 98843499d10a458f7029b054ceb3cda944e52e88 +Author: vincent-richard +Date: Tue Sep 7 07:44:15 2010 +0000 + + Support filenames with charset (thanks to John van der Kamp, Zarafa). + + git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@564 5301114d-f842-0410-bbdd-996ee0417009 + +diff --git a/src/parameter.cpp b/src/parameter.cpp +index d923e68..91a7e5c 100644 +--- a/src/parameter.cpp ++++ b/src/parameter.cpp +@@ -25,6 +25,7 @@ + #include "vmime/parserHelpers.hpp" + + #include "vmime/text.hpp" ++#include "vmime/encoding.hpp" + + + namespace vmime +@@ -322,7 +323,13 @@ void parameter::generate(utility::outputStream& os, const string::size_type maxL + pos += name.length() + 1; + } + +- bool extended = false; ++ // Check whether there is a recommended encoding for this charset. ++ // If so, the whole buffer will be encoded. Else, the number of ++ // 7-bit (ASCII) bytes in the input will be used to determine if ++ // we need to encode the whole buffer. ++ encoding recommendedEnc; ++ const bool alwaysEncode = m_value.getCharset().getRecommendedEncoding(recommendedEnc); ++ bool extended = alwaysEncode; + + for (string::size_type i = 0 ; (i < value.length()) && (pos < maxLineLength - 4) ; ++i) + { +@@ -454,7 +461,8 @@ void parameter::generate(utility::outputStream& os, const string::size_type maxL + default: + + encode = (!parserHelpers::isPrint(c) || +- !parserHelpers::isAscii(c)); ++ !parserHelpers::isAscii(c) || ++ alwaysEncode); + + break; + }