From 5957a8e01ba46c948e302e36a2652bd52fafd1f8 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Wed, 5 Sep 2012 21:26:28 +0200
Subject: [PATCH] update size calculations for assignment statements

this was forgotten when the value lists were extended by a size hint.

Change-Id: I6f9b55ed671224a9b8735c8d937f94aac4a73a42
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
(cherry picked from qtcreator/f24c9865306624c2fc150d4bd262a5c4d5a3689a)
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
---
 qmake/library/proitems.h      | 1 +
 qmake/library/qmakeparser.cpp | 8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/qmake/library/proitems.h b/qmake/library/proitems.h
index cd7af34108a..13693837b9c 100644
--- a/qmake/library/proitems.h
+++ b/qmake/library/proitems.h
@@ -275,6 +275,7 @@ enum ProToken {
     TokRemove,          // variable -=
     TokReplace,         // variable ~=
                         // previous literal/expansion is a variable manipulation
+                        // - lower bound for expected output length (1)
                         // - value expression + TokValueTerminator
     TokValueTerminator, // assignment value terminator
     TokLiteral,         // literal string (fully dequoted)
diff --git a/qmake/library/qmakeparser.cpp b/qmake/library/qmakeparser.cpp
index 557a779717d..49b54291300 100644
--- a/qmake/library/qmakeparser.cpp
+++ b/qmake/library/qmakeparser.cpp
@@ -298,12 +298,12 @@ bool QMakeParser::read(ProFile *pro, const QString &in, int line, SubGrammar gra
     // Worst-case size calculations:
     // - line marker adds 1 (2-nl) to 1st token of each line
     // - empty assignment "A=":2 =>
-    //   TokHashLiteral(1) + hash(2) + len(1) + "A"(1) + TokAssign(1) +
-    //   TokValueTerminator(1) == 7 (8)
+    //   TokHashLiteral(1) + hash(2) + len(1) + "A"(1) + TokAssign(1) + 0(1) +
+    //   TokValueTerminator(1) == 8 (9)
     // - non-empty assignment "A=B C":5 =>
-    //   TokHashLiteral(1) + hash(2) + len(1) + "A"(1) + TokAssign(1) +
+    //   TokHashLiteral(1) + hash(2) + len(1) + "A"(1) + TokAssign(1) + 2(1) +
     //   TokLiteral(1) + len(1) + "B"(1) +
-    //   TokLiteral(1) + len(1) + "C"(1) + TokValueTerminator(1) == 13 (14)
+    //   TokLiteral(1) + len(1) + "C"(1) + TokValueTerminator(1) == 14 (15)
     // - variable expansion: "$$f":3 =>
     //   TokVariable(1) + hash(2) + len(1) + "f"(1) = 5
     // - function expansion: "$$f()":5 =>
-- 
GitLab