From a4cd04cd61c5d4f8be3cf0ebda4813d9768051ab Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 28 Nov 2017 09:22:00 +0100 Subject: [PATCH] Debugger: modernize cdb detection Change-Id: Icc01ee47311fdd6d34df7555afd93bb323fdd05c Reviewed-by: Christian Stenger --- src/plugins/debugger/debuggeritemmanager.cpp | 30 +++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/plugins/debugger/debuggeritemmanager.cpp b/src/plugins/debugger/debuggeritemmanager.cpp index 766ae442c58..4b55bf76c12 100644 --- a/src/plugins/debugger/debuggeritemmanager.cpp +++ b/src/plugins/debugger/debuggeritemmanager.cpp @@ -35,6 +35,7 @@ #include #include +#include #include #include #include @@ -629,18 +630,19 @@ void DebuggerItemManagerPrivate::autoDetectCdbDebuggers() { FileNameList cdbs; - QStringList programDirs; - programDirs.append(QString::fromLocal8Bit(qgetenv("ProgramFiles"))); - programDirs.append(QString::fromLocal8Bit(qgetenv("ProgramFiles(x86)"))); - programDirs.append(QString::fromLocal8Bit(qgetenv("ProgramW6432"))); + const QStringList programDirs = { + QString::fromLocal8Bit(qgetenv("ProgramFiles")), + QString::fromLocal8Bit(qgetenv("ProgramFiles(x86)")), + QString::fromLocal8Bit(qgetenv("ProgramW6432")) + }; - foreach (const QString &dirName, programDirs) { + for (const QString &dirName: programDirs) { if (dirName.isEmpty()) continue; - QDir dir(dirName); + const QDir dir(dirName); // Windows SDK's starting from version 8 live in // "ProgramDir\Windows Kits\" - const QString windowsKitsFolderName = QLatin1String("Windows Kits"); + const QString windowsKitsFolderName = "Windows Kits"; if (dir.exists(windowsKitsFolderName)) { QDir windowKitsFolder = dir; if (windowKitsFolder.cd(windowsKitsFolderName)) { @@ -648,12 +650,12 @@ void DebuggerItemManagerPrivate::autoDetectCdbDebuggers() const QFileInfoList kitFolders = windowKitsFolder.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Time | QDir::Reversed); - foreach (const QFileInfo &kitFolderFi, kitFolders) { + for (const QFileInfo &kitFolderFi : kitFolders) { const QString path = kitFolderFi.absoluteFilePath(); - const QFileInfo cdb32(path + QLatin1String("/Debuggers/x86/cdb.exe")); + const QFileInfo cdb32(path + "/Debuggers/x86/cdb.exe"); if (cdb32.isExecutable()) cdbs.append(FileName::fromString(cdb32.absoluteFilePath())); - const QFileInfo cdb64(path + QLatin1String("/Debuggers/x64/cdb.exe")); + const QFileInfo cdb64(path + "/Debuggers/x64/cdb.exe"); if (cdb64.isExecutable()) cdbs.append(FileName::fromString(cdb64.absoluteFilePath())); } @@ -661,16 +663,16 @@ void DebuggerItemManagerPrivate::autoDetectCdbDebuggers() } // Pre Windows SDK 8: Check 'Debugging Tools for Windows' - foreach (const QFileInfo &fi, dir.entryInfoList(QStringList(QLatin1String("Debugging Tools for Windows*")), - QDir::Dirs | QDir::NoDotAndDotDot)) { + for (const QFileInfo &fi : dir.entryInfoList({"Debugging Tools for Windows*"}, + QDir::Dirs | QDir::NoDotAndDotDot)) { FileName filePath(fi); - filePath.appendPath(QLatin1String("cdb.exe")); + filePath.appendPath("cdb.exe"); if (!cdbs.contains(filePath)) cdbs.append(filePath); } } - foreach (const FileName &cdb, cdbs) { + for (const FileName &cdb : Utils::asConst(cdbs)) { if (DebuggerItemManager::findByCommand(cdb)) continue; DebuggerItem item;