diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-03-12 21:56:56 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-13 18:40:26 +0100 |
commit | a5c2ab47867a558d6f8f62126fb8e4f2777cfe06 (patch) | |
tree | d6f1d59983fe904193a72d944fdc9edb5429e011 /qmake | |
parent | 62266ef813a0e98c6487794860d28b9cf18cb2cb (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')
-rw-r--r-- | qmake/library/qmakeevaluator.cpp | 9 |
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; |