diff options
author | Vincent Richard <[email protected]> | 2013-03-24 10:35:08 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2013-03-24 10:35:08 +0000 |
commit | 495526a5e6c04f2564741a54d791705cdaa268f7 (patch) | |
tree | 5127393755fb27dea0cb7bb9e25da7eef0d5f495 /src/parameterizedHeaderField.cpp | |
parent | Checks for a charset in all words of a parameter in a parameterizedHeader. (diff) | |
download | vmime-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.cpp | 8 |
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 ';' |