File vmime-0.9.2-qp-in-buffers.diff of Package libvmime_zarafa7
---
src/wordEncoder.cpp | 7 +++++++
1 file changed, 7 insertions(+)
Index: vmime/src/wordEncoder.cpp
===================================================================
--- vmime.orig/src/wordEncoder.cpp
+++ vmime/src/wordEncoder.cpp
@@ -239,6 +239,13 @@ bool wordEncoder::isEncodingNeeded(const
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;
}