summaryrefslogtreecommitdiffstats
path: root/qmake/library
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-03-12 21:56:56 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-13 18:40:26 +0100
commita5c2ab47867a558d6f8f62126fb8e4f2777cfe06 (patch)
treed6f1d59983fe904193a72d944fdc9edb5429e011 /qmake/library
parent62266ef813a0e98c6487794860d28b9cf18cb2cb (diff)
make split_value_list() a bit less sane again
let the backslash escape only quotes (and itself), after all - $$list() (one of the main users of this function) is commonly used with (windows) path lists, so letting it escape anything would make a royal mess. Change-Id: I2dae2e4508903e62c190c1497da68d53978118e7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'qmake/library')
-rw-r--r--qmake/library/qmakeevaluator.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/qmake/library/qmakeevaluator.cpp b/qmake/library/qmakeevaluator.cpp
index 285c79b9f3..4f4e5854f1 100644
--- a/qmake/library/qmakeevaluator.cpp
+++ b/qmake/library/qmakeevaluator.cpp
@@ -297,8 +297,13 @@ ProStringList QMakeEvaluator::split_value_list(const QString &vals, const ProFil
build += QChar(unicode);
break;
case '\\':
- if (x + 1 != vals_len)
- unicode = vals_data[++x].unicode();
+ if (x + 1 != vals_len) {
+ ushort next = vals_data[++x].unicode();
+ if (next == '\'' || next == '"' || next == '\\')
+ unicode = next;
+ else
+ --x;
+ }
// fallthrough
default:
hadWord = true;