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); build += QChar(unicode);
break; break;
case '\\': case '\\':
if (x + 1 != vals_len) if (x + 1 != vals_len) {
unicode = vals_data[++x].unicode(); ushort next = vals_data[++x].unicode();
if (next == '\'' || next == '"' || next == '\\')
unicode = next;
else
--x;
}
// fallthrough // fallthrough
default: default:
hadWord = true; hadWord = true;