diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-07-03 13:54:17 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-26 23:57:08 +0200 |
commit | 3eb6378f78d002897a611f348abae090d9612685 (patch) | |
tree | 23b7064f16a17246cf9d46555bb05538f7952b8f | |
parent | 87fcdcba087f37171511fa58451cbe1ee5673169 (diff) |
make split_value_list() even less sane again
contrary to what one may expect, it's actually *not* supposed to remove
the meta-characters it interprets.
luckily, this function is not used much any more ...
Change-Id: I2b60f9b173140da78db2b07b596cc2e5f6e6d555
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/783181cfc11e995ad678237ebc0025a2a023c88c)
-rw-r--r-- | src/linguist/shared/qmakeevaluator.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/linguist/shared/qmakeevaluator.cpp b/src/linguist/shared/qmakeevaluator.cpp index 18cb6e973..6bd1c58d4 100644 --- a/src/linguist/shared/qmakeevaluator.cpp +++ b/src/linguist/shared/qmakeevaluator.cpp @@ -277,6 +277,8 @@ ProStringList QMakeEvaluator::split_value_list(const QString &vals, const ProFil ushort unicode = vals_data[x].unicode(); if (unicode == quote) { quote = 0; + hadWord = true; + build += QChar(unicode); continue; } switch (unicode) { @@ -284,7 +286,7 @@ ProStringList QMakeEvaluator::split_value_list(const QString &vals, const ProFil case '\'': quote = unicode; hadWord = true; - continue; + break; case ' ': case '\t': if (!quote) { @@ -295,22 +297,23 @@ ProStringList QMakeEvaluator::split_value_list(const QString &vals, const ProFil } continue; } - build += QChar(unicode); break; case '\\': if (x + 1 != vals_len) { ushort next = vals_data[++x].unicode(); - if (next == '\'' || next == '"' || next == '\\') + if (next == '\'' || next == '"' || next == '\\') { + build += QChar(unicode); unicode = next; - else + } else { --x; + } } // fallthrough default: hadWord = true; - build += QChar(unicode); break; } + build += QChar(unicode); } if (hadWord) ret << ProString(build).setSource(source); |