From 50b87b3a8d43d1dc2895c4d836a4e35cfd5ffc67 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 13 May 2016 15:21:05 +0200 Subject: [PATCH] add ProStringList::join(ProString) overload and make use of it Change-Id: Ic3919a1fa9419bbb3b57dd1aa7eb95643ee59e53 Reviewed-by: Joerg Bornemann (cherry picked from qtbase/e45a9fe457a4e5e70bf4e62092b253675dc97819) Reviewed-by: Jake Petroules --- src/shared/proparser/proitems.cpp | 5 +++++ src/shared/proparser/proitems.h | 1 + src/shared/proparser/qmakebuiltins.cpp | 5 ++--- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/shared/proparser/proitems.cpp b/src/shared/proparser/proitems.cpp index 126f0371e5b..795b8b4564a 100644 --- a/src/shared/proparser/proitems.cpp +++ b/src/shared/proparser/proitems.cpp @@ -362,6 +362,11 @@ static QString ProStringList_join(const ProStringList &this_, const QChar *sep, return res; } +QString ProStringList::join(const ProString &sep) const +{ + return ProStringList_join(*this, sep.constData(), sep.size()); +} + QString ProStringList::join(const QString &sep) const { return ProStringList_join(*this, sep.constData(), sep.size()); diff --git a/src/shared/proparser/proitems.h b/src/shared/proparser/proitems.h index e4eab85de64..0f59ee16f22 100644 --- a/src/shared/proparser/proitems.h +++ b/src/shared/proparser/proitems.h @@ -229,6 +229,7 @@ public: int length() const { return size(); } + QString join(const ProString &sep) const; QString join(const QString &sep) const; QString join(QChar sep) const; diff --git a/src/shared/proparser/qmakebuiltins.cpp b/src/shared/proparser/qmakebuiltins.cpp index 0dd2f099764..ed920ea8ac0 100644 --- a/src/shared/proparser/qmakebuiltins.cpp +++ b/src/shared/proparser/qmakebuiltins.cpp @@ -602,10 +602,9 @@ ProStringList QMakeEvaluator::evaluateBuiltinExpand( if (args.count() < 1 || args.count() > 4) { evalError(fL1S("join(var, glue, before, after) requires one to four arguments.")); } else { - QString glue; - ProString before, after; + ProString glue, before, after; if (args.count() >= 2) - glue = args.at(1).toQString(m_tmp1); + glue = args.at(1); if (args.count() >= 3) before = args[2]; if (args.count() == 4)