From a5c2ab47867a558d6f8f62126fb8e4f2777cfe06 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 12 Mar 2013 21:56:56 +0100 Subject: 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 --- qmake/library/qmakeevaluator.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'qmake') 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; -- cgit v1.2.3