From 80e63223f80643a93255cde9e0a4e82c705b2262 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 25 Nov 2016 20:41:20 +0100 Subject: make qmake abort when $$prompt() gets EOF otherwise, infinite loops can result, as amply demonstrated by the new configure (which duly replicated the old configures' behavior ...). QMakeEvaluator::evaluateBuiltinExpand() now returns a VisitReturn like all other evaluate*() functions. the string list return value is now an out parameter; i used a reference instead of a pointer to avoid adjusting 56 usages of it. Task-number: QTBUG-13964 Change-Id: I51ca7df8d694c6ffe9d9899cba414b1b46f5ce95 Reviewed-by: Lars Knoll --- qmake/project.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'qmake/project.cpp') diff --git a/qmake/project.cpp b/qmake/project.cpp index 2f8411d52f..3a073b0954 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -99,8 +99,12 @@ QStringList QMakeProject::expand(const ProKey &func, const QList { m_current.clear(); - if (int func_t = statics.expands.value(func)) - return evaluateBuiltinExpand(func_t, func, prepareBuiltinArgs(args)).toQStringList(); + if (int func_t = statics.expands.value(func)) { + ProStringList ret; + if (evaluateBuiltinExpand(func_t, func, prepareBuiltinArgs(args), ret) == ReturnError) + exit(3); + return ret.toQStringList(); + } QHash::ConstIterator it = m_functionDefs.replaceFunctions.constFind(func); -- cgit v1.2.3