summaryrefslogtreecommitdiffstats
path: root/src/plugins/messageservices/imap/imapstructure.cpp
diff options
context:
space:
mode:
authorMattV <qt-info@nokia.com>2009-03-16 15:45:50 +1000
committerMattV <qt-info@nokia.com>2009-03-16 15:45:50 +1000
commit03fcbe2efaf522be307e58730d462dacdd1cdaa2 (patch)
treec1e9686be0b2b03556cf76a64ca93ce9bd01551d /src/plugins/messageservices/imap/imapstructure.cpp
parent05689c0617b38d9a7babf509e440559133b90871 (diff)
Ensure multi-part boundaries are correctly parsed.
Diffstat (limited to 'src/plugins/messageservices/imap/imapstructure.cpp')
-rw-r--r--src/plugins/messageservices/imap/imapstructure.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/plugins/messageservices/imap/imapstructure.cpp b/src/plugins/messageservices/imap/imapstructure.cpp
index 280bcb04..740635d0 100644
--- a/src/plugins/messageservices/imap/imapstructure.cpp
+++ b/src/plugins/messageservices/imap/imapstructure.cpp
@@ -271,9 +271,8 @@ void setBodyFromDescription(const QStringList &details, QMailMessagePartContaine
// [2]: parameter list
const QStringList parameters(decomposeElements(details.at(2)));
QStringList::const_iterator it = parameters.begin(), end = parameters.end();
- for ( ; (it != end) && (it + 1 != end); ++it) {
+ for ( ; (it != end) && ((it + 1) != end); it += 2) {
type.setParameter((*it).toAscii(), (*(it + 1)).toAscii());
- ++it;
}
// [5]: content-encoding
@@ -356,12 +355,9 @@ void setMultipartFromDescription(const QStringList &structure, QMailMessagePartC
if (details.count() > 1) {
const QStringList parameters(decomposeElements(details.at(1)));
QStringList::const_iterator it = parameters.begin(), end = parameters.end();
- for ( ; it != end; ++it) {
- if ((it + 1) != end) {
- if ((*it).trimmed().toUpper() == "BOUNDARY") {
- container->setBoundary((*(it + 1)).toAscii());
- }
- ++it;
+ for ( ; (it != end) && ((it + 1) != end); it += 2) {
+ if ((*it).trimmed().toUpper() == "BOUNDARY") {
+ container->setBoundary((*(it + 1)).toAscii());
}
}
}