make setting a bad $$[QMAKEFEATURES] not crash qmake
Task-number: QTBUG-29642 Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
parent
51c04e292e
commit
50a90720be
@ -1452,8 +1452,8 @@ void QMakeEvaluator::updateFeaturePaths()
|
||||
|
||||
feature_roots += m_qmakefeatures;
|
||||
|
||||
feature_roots += m_option->propertyValue(ProKey("QMAKEFEATURES")).toQString(m_mtmp).split(
|
||||
m_option->dirlist_sep, QString::SkipEmptyParts);
|
||||
feature_roots += m_option->splitPathList(
|
||||
m_option->propertyValue(ProKey("QMAKEFEATURES")).toQString(m_mtmp));
|
||||
|
||||
QStringList feature_bases;
|
||||
if (!m_buildRoot.isEmpty()) {
|
||||
|
@ -270,6 +270,19 @@ QString QMakeGlobals::shadowedPath(const QString &fileName) const
|
||||
return QString();
|
||||
}
|
||||
|
||||
QStringList QMakeGlobals::splitPathList(const QString &val) const
|
||||
{
|
||||
QStringList ret;
|
||||
if (!val.isEmpty()) {
|
||||
QDir bdir;
|
||||
QStringList vals = val.split(dirlist_sep);
|
||||
ret.reserve(vals.length());
|
||||
foreach (const QString &it, vals)
|
||||
ret << QDir::cleanPath(bdir.absoluteFilePath(it));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
QString QMakeGlobals::getEnv(const QString &var) const
|
||||
{
|
||||
#ifdef PROEVALUATOR_SETENV
|
||||
@ -281,16 +294,7 @@ QString QMakeGlobals::getEnv(const QString &var) const
|
||||
|
||||
QStringList QMakeGlobals::getPathListEnv(const QString &var) const
|
||||
{
|
||||
QStringList ret;
|
||||
QString val = getEnv(var);
|
||||
if (!val.isEmpty()) {
|
||||
QDir bdir;
|
||||
QStringList vals = val.split(dirlist_sep);
|
||||
ret.reserve(vals.length());
|
||||
foreach (const QString &it, vals)
|
||||
ret << QDir::cleanPath(bdir.absoluteFilePath(it));
|
||||
}
|
||||
return ret;
|
||||
return splitPathList(getEnv(var));
|
||||
}
|
||||
|
||||
QString QMakeGlobals::expandEnvVars(const QString &str) const
|
||||
|
@ -147,6 +147,7 @@ public:
|
||||
|
||||
QString expandEnvVars(const QString &str) const;
|
||||
QString shadowedPath(const QString &fileName) const;
|
||||
QStringList splitPathList(const QString &value) const;
|
||||
|
||||
private:
|
||||
QString getEnv(const QString &) const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user