summaryrefslogtreecommitdiffstats
path: root/libraries/libvmime-zarafa/patches/vmime-0.9.2-qp-in-buffers.diff
blob: 7634edd1bc81600266cfcee66935db03dffb15bd (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
--- svn/src/wordEncoder.cpp     (revision 603)
+++ svn/src/wordEncoder.cpp     (working copy)
@@ -239,6 +239,13 @@
 	if (buffer.find_first_of("\n\r") != string::npos)
 		return true;
 
+	// If the string contains a QP string, we need to encode this.
+	// Not a 100% check, but we'd only get more encoded strings.
+	std::string::size_type pos = buffer.find("=?");
+	std::string::size_type end = buffer.find("?=");
+	if (pos != string::npos && end != string::npos && end > pos)
+		return true;
+
 	return false;
 }