aboutsummaryrefslogtreecommitdiffstats
path: root/src/parameterizedHeaderField.cpp
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2013-03-24 10:35:08 +0000
committerVincent Richard <[email protected]>2013-03-24 10:35:08 +0000
commit495526a5e6c04f2564741a54d791705cdaa268f7 (patch)
tree5127393755fb27dea0cb7bb9e25da7eef0d5f495 /src/parameterizedHeaderField.cpp
parentChecks for a charset in all words of a parameter in a parameterizedHeader. (diff)
downloadvmime-495526a5e6c04f2564741a54d791705cdaa268f7.tar.gz
vmime-495526a5e6c04f2564741a54d791705cdaa268f7.zip
Let whitespace break the value of a parameterized header field, not just a ';' (thanks to Zarafa).
Diffstat (limited to 'src/parameterizedHeaderField.cpp')
-rw-r--r--src/parameterizedHeaderField.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/parameterizedHeaderField.cpp b/src/parameterizedHeaderField.cpp
index 619fe7cf..c4e0b368 100644
--- a/src/parameterizedHeaderField.cpp
+++ b/src/parameterizedHeaderField.cpp
@@ -98,7 +98,7 @@ void parameterizedHeaderField::parseImpl
// Advance up to ';', if any
string::size_type valueLength = 0;
- while (p < pend && *p != ';') // FIXME: support ";" inside quoted or RFC-2047-encoded text
+ while (p < pend && *p != ';' && (!parserHelpers::isSpace(*p))) // FIXME: support ";" inside quoted or RFC-2047-encoded text
{
++p;
++valueLength;
@@ -119,6 +119,12 @@ void parameterizedHeaderField::parseImpl
{
std::map <string, paramInfo> params;
+ if (*p != ';')
+ {
+ while (p < pend && *p != ';') // FIXME: support ";" inside quoted or RFC-2047-encoded text
+ ++p;
+ }
+
while (*p == ';')
{
// Skip ';'