From 3e941652e14c17e8e154a57d77dd0ae469706daf Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 21 Nov 2022 11:33:55 +0100 Subject: [PATCH] Utils: Reduce scope of Environment::appendExeExtensions() The general idea is to use FilePath as entry point for this kind of functionality. Change-Id: Id6ade8809229d119eb6af44baa7d4e473676f6f9 Reviewed-by: Christian Stenger Reviewed-by: Marcus Tillmanns Reviewed-by: --- src/libs/utils/environment.cpp | 16 ++++++++-------- src/libs/utils/environment.h | 1 - 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/libs/utils/environment.cpp b/src/libs/utils/environment.cpp index 05c5e05e5ae..0a2d39c8f0d 100644 --- a/src/libs/utils/environment.cpp +++ b/src/libs/utils/environment.cpp @@ -151,15 +151,15 @@ static FilePath searchInDirectory(const QStringList &execs, return FilePath(); } -QStringList Environment::appendExeExtensions(const QString &executable) const +static QStringList appendExeExtensions(const Environment &env, const QString &executable) { QStringList execs(executable); - const QFileInfo fi(executable); - if (osType() == OsTypeWindows) { + if (env.osType() == OsTypeWindows) { + const QFileInfo fi(executable); // Check all the executable extensions on windows: // PATHEXT is only used if the executable has no extension if (fi.suffix().isEmpty()) { - const QStringList extensions = expandedValueForKey("PATHEXT").split(';'); + const QStringList extensions = env.expandedValueForKey("PATHEXT").split(';'); for (const QString &ext : extensions) execs << executable + ext.toLower(); @@ -170,8 +170,8 @@ QStringList Environment::appendExeExtensions(const QString &executable) const bool Environment::isSameExecutable(const QString &exe1, const QString &exe2) const { - const QStringList exe1List = appendExeExtensions(exe1); - const QStringList exe2List = appendExeExtensions(exe2); + const QStringList exe1List = appendExeExtensions(*this, exe1); + const QStringList exe2List = appendExeExtensions(*this, exe2); for (const QString &i1 : exe1List) { for (const QString &i2 : exe2List) { const FilePath f1 = FilePath::fromString(i1); @@ -200,7 +200,7 @@ static FilePath searchInDirectoriesHelper(const Environment &env, const QString exec = QDir::cleanPath(env.expandVariables(executable)); const QFileInfo fi(exec); - const QStringList execs = env.appendExeExtensions(exec); + const QStringList execs = appendExeExtensions(env, exec); if (fi.isAbsolute()) { for (const QString &path : execs) { @@ -254,7 +254,7 @@ FilePaths Environment::findAllInPath(const QString &executable, const QString exec = QDir::cleanPath(expandVariables(executable)); const QFileInfo fi(exec); - const QStringList execs = appendExeExtensions(exec); + const QStringList execs = appendExeExtensions(*this, exec); if (fi.isAbsolute()) { for (const QString &path : execs) { diff --git a/src/libs/utils/environment.h b/src/libs/utils/environment.h index 01b4a6e9bf7..180bd86b493 100644 --- a/src/libs/utils/environment.h +++ b/src/libs/utils/environment.h @@ -64,7 +64,6 @@ public: FilePaths path() const; FilePaths pathListValue(const QString &varName) const; - QStringList appendExeExtensions(const QString &executable) const; bool isSameExecutable(const QString &exe1, const QString &exe2) const;