From 08bacd3f19b817a7ffbd606a92eff5000eaaca2c Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 2 Mar 2023 14:19:42 +0100 Subject: [PATCH] Avoid a few double lookups when expanding environment values Change-Id: Ie84caee89a48d8006e6324c5a82901d01a5fac6c Reviewed-by: Christian Kandeler Reviewed-by: --- src/plugins/docker/dockerdevice.cpp | 4 ++-- src/plugins/qmakeprojectmanager/qmakeproject.cpp | 4 ++-- src/plugins/qnx/qnxdevice.cpp | 4 ++-- src/plugins/remotelinux/linuxdevice.cpp | 4 ++-- src/plugins/remotelinux/makeinstallstep.cpp | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index 45e024b400b..a9687352529 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -471,9 +471,9 @@ CommandLine DockerDevicePrivate::withDockerExecCmd(const CommandLine &cmd, dockerCmd.addArg("-t"); if (env) { - env->forEachEntry([&](const QString &key, const QString &, bool) { + env->forEachEntry([&](const QString &key, const QString &value, bool) { dockerCmd.addArg("-e"); - dockerCmd.addArg(key + "=" + env->expandedValueForKey(key)); + dockerCmd.addArg(key + "=" + env->expandVariables(value)); }); } diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 575de11f66c..322e58c37d0 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -872,8 +872,8 @@ QtSupport::ProFileReader *QmakeBuildSystem::createProFileReader(const QmakeProFi rootProFileName, deviceRoot()); - env.forEachEntry([&](const QString &key, const QString &, bool) { - m_qmakeGlobals->environment.insert(key, env.expandedValueForKey(key)); + env.forEachEntry([&](const QString &key, const QString &value, bool) { + m_qmakeGlobals->environment.insert(key, env.expandVariables(value)); }); m_qmakeGlobals->setCommandLineArguments(rootProFileName, qmakeArgs); diff --git a/src/plugins/qnx/qnxdevice.cpp b/src/plugins/qnx/qnxdevice.cpp index 89d1241cfe7..ad205196ed7 100644 --- a/src/plugins/qnx/qnxdevice.cpp +++ b/src/plugins/qnx/qnxdevice.cpp @@ -61,8 +61,8 @@ QString QnxProcessImpl::fullCommandLine(const CommandLine &commandLine) const ProcessArgs::quoteArg(m_setup.m_workingDirectory.toString())); const Environment env = m_setup.m_environment; - env.forEachEntry([&](const QString &key, const QString &, bool) { - fullCommandLine += QString("%1='%2' ").arg(key).arg(env.expandedValueForKey(key)); + env.forEachEntry([&](const QString &key, const QString &value, bool) { + fullCommandLine += QString("%1='%2' ").arg(key).arg(env.expandVariables(value)); }); fullCommandLine += QString::fromLatin1("%1 & echo $! > %2").arg(cmd).arg(m_pidFile); diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index d38542fefde..fc3268c892d 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -613,8 +613,8 @@ QString LinuxProcessInterface::fullCommandLine(const CommandLine &commandLine) c cmd.addArgs(QString("echo ") + s_pidMarker + "$$" + s_pidMarker + " && ", CommandLine::Raw); const Environment &env = m_setup.m_environment; - env.forEachEntry([&](const QString &key, const QString &, bool) { - cmd.addArgs(key + "='" + env.expandedValueForKey(key) + '\'', CommandLine::Raw); + env.forEachEntry([&](const QString &key, const QString &value, bool) { + cmd.addArgs(key + "='" + env.expandVariables(value) + '\'', CommandLine::Raw); }); if (m_setup.m_terminalMode == TerminalMode::Off) diff --git a/src/plugins/remotelinux/makeinstallstep.cpp b/src/plugins/remotelinux/makeinstallstep.cpp index a23dba21037..de7f9a336e6 100644 --- a/src/plugins/remotelinux/makeinstallstep.cpp +++ b/src/plugins/remotelinux/makeinstallstep.cpp @@ -172,9 +172,9 @@ bool MakeInstallStep::init() const MakeInstallCommand cmd = buildSystem()->makeInstallCommand(rootDir); if (cmd.environment.hasChanges()) { Environment env = processParameters()->environment(); - cmd.environment.forEachEntry([&](const QString &key, const QString &, bool enabled) { + cmd.environment.forEachEntry([&](const QString &key, const QString &value, bool enabled) { if (enabled) - env.set(key, cmd.environment.expandedValueForKey(key)); + env.set(key, cmd.environment.expandVariables(value)); }); processParameters()->setEnvironment(env); }