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>
This commit is contained in:
Oswald Buddenhagen 2013-03-12 21:56:56 +01:00 committed by The Qt Project
parent 62266ef813
commit a5c2ab4786

View File

@ -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;