From 3d89b10db979cb501c21bfb2052210dbbb127dbb Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 20 Nov 2013 15:50:43 +0100 Subject: [PATCH] fix handling of \\ in replacement string in s/// cmd of built-in sed QString::replace() has no way of escaping capture group references, so simply disarm double backslashes. of course this is broken, but we'd need to reimplement it from scratch to fix it properly. "corner case" ... Change-Id: I357fbfd22c9c4a68809e5af6efad1de3a95706b5 Reviewed-by: Joerg Bornemann --- qmake/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/qmake/main.cpp b/qmake/main.cpp index 340567a27d4..79e3739f562 100644 --- a/qmake/main.cpp +++ b/qmake/main.cpp @@ -133,6 +133,7 @@ static int doSed(int argc, char **argv) SedSubst subst; subst.from = QRegExp(phases.at(0)); subst.to = phases.at(1); + subst.to.replace("\\\\", "\\"); // QString::replace(rx, sub) groks \1, but not \\. substs << subst; } } else if (argv[i][0] == '-' && argv[i][1] != 0) {