diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp index f03dce2bc406..292e2cfbda13 100644 --- a/qmake/generators/mac/pbuilder_pbx.cpp +++ b/qmake/generators/mac/pbuilder_pbx.cpp @@ -1875,7 +1875,7 @@ ProjectBuilderMakefileGenerator::findProgram(const ProString &prog) { QString ret = prog.toQString(); if(QDir::isRelativePath(ret)) { - QStringList paths = QString(qgetenv("PATH")).split(':'); + QStringList paths = QString(qgetenv("PATH")).split(QDir::listSeparator()); for(int i = 0; i < paths.size(); ++i) { QString path = paths.at(i) + "/" + prog; if(exists(path)) { diff --git a/qmake/library/ioutils.cpp b/qmake/library/ioutils.cpp index c46eb7b6638c..df1a66263f02 100644 --- a/qmake/library/ioutils.cpp +++ b/qmake/library/ioutils.cpp @@ -63,11 +63,9 @@ QString IoUtils::binaryAbsLocation(const QString &argv0) } else { // in the PATH QByteArray pEnv = qgetenv("PATH"); QDir currentDir = QDir::current(); + QStringList paths = QString::fromLocal8Bit(pEnv).split(QDir::listSeparator()); #ifdef Q_OS_WIN - QStringList paths = QString::fromLocal8Bit(pEnv).split(QLatin1String(";")); paths.prepend(QLatin1String(".")); -#else - QStringList paths = QString::fromLocal8Bit(pEnv).split(QLatin1String(":")); #endif for (QStringList::const_iterator p = paths.constBegin(); p != paths.constEnd(); ++p) { if ((*p).isEmpty()) diff --git a/qmake/library/qmakeevaluator.cpp b/qmake/library/qmakeevaluator.cpp index 3b0ff8ee9340..c158bc975103 100644 --- a/qmake/library/qmakeevaluator.cpp +++ b/qmake/library/qmakeevaluator.cpp @@ -1023,7 +1023,7 @@ static ProString msvcArchitecture(const QString &vcInstallDir, const QString &pa QString vcBinDir = vcInstallDir; if (vcBinDir.endsWith(QLatin1Char('\\'))) vcBinDir.chop(1); - const auto dirs = pathVar.split(QLatin1Char(';'), Qt::SkipEmptyParts); + const auto dirs = pathVar.split(QDir::listSeparator(), Qt::SkipEmptyParts); for (const QString &dir : dirs) { if (!dir.startsWith(vcBinDir, Qt::CaseInsensitive)) continue; diff --git a/qmake/library/qmakeglobals.cpp b/qmake/library/qmakeglobals.cpp index 7d51b0f18420..d7fb440b37ea 100644 --- a/qmake/library/qmakeglobals.cpp +++ b/qmake/library/qmakeglobals.cpp @@ -78,13 +78,8 @@ QMakeGlobals::QMakeGlobals() #ifdef PROEVALUATOR_DEBUG debugLevel = 0; #endif -#ifdef Q_OS_WIN - dirlist_sep = QLatin1Char(';'); - dir_sep = QLatin1Char('\\'); -#else - dirlist_sep = QLatin1Char(':'); - dir_sep = QLatin1Char('/'); -#endif +dirlist_sep = QDir::listSeparator(); +dir_sep = QDir::separator(); } QMakeGlobals::~QMakeGlobals() diff --git a/src/corelib/plugin/qsystemlibrary.cpp b/src/corelib/plugin/qsystemlibrary.cpp index 593b0c3be703..a95a438a210d 100644 --- a/src/corelib/plugin/qsystemlibrary.cpp +++ b/src/corelib/plugin/qsystemlibrary.cpp @@ -101,7 +101,7 @@ HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirect if (!onlySystemDirectory) { const QString PATH(QLatin1String(qgetenv("PATH").constData())); - searchOrder << PATH.split(QLatin1Char(';'), Qt::SkipEmptyParts); + searchOrder << PATH.split(QDir::listSeparator(), Qt::SkipEmptyParts); } QString fileName = QString::fromWCharArray(libraryName); fileName.append(QLatin1String(".dll")); @@ -109,8 +109,8 @@ HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirect // Start looking in the order specified for (int i = 0; i < searchOrder.count(); ++i) { QString fullPathAttempt = searchOrder.at(i); - if (!fullPathAttempt.endsWith(QLatin1Char('\\'))) { - fullPathAttempt.append(QLatin1Char('\\')); + if (!fullPathAttempt.endsWith(QDir::separator())) { + fullPathAttempt.append(QDir::separator()); } fullPathAttempt.append(fileName); HINSTANCE inst = ::LoadLibrary(reinterpret_cast(fullPathAttempt.utf16())); diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp index 766af0ec313e..651962e400c0 100644 --- a/src/tools/androiddeployqt/main.cpp +++ b/src/tools/androiddeployqt/main.cpp @@ -2499,13 +2499,7 @@ bool createAndroidProject(const Options &options) QString findInPath(const QString &fileName) { const QString path = QString::fromLocal8Bit(qgetenv("PATH")); -#if defined(Q_OS_WIN32) - QLatin1Char separator(';'); -#else - QLatin1Char separator(':'); -#endif - - const QStringList paths = path.split(separator); + const QStringList paths = path.split(QDir::listSeparator()); for (const QString &path : paths) { QFileInfo fileInfo(path + QLatin1Char('/') + fileName); if (fileInfo.exists() && fileInfo.isFile() && fileInfo.isExecutable()) diff --git a/src/tools/windeployqt/main.cpp b/src/tools/windeployqt/main.cpp index 27b57ea9ad38..1de1a560ab82 100644 --- a/src/tools/windeployqt/main.cpp +++ b/src/tools/windeployqt/main.cpp @@ -1648,7 +1648,7 @@ int main(int argc, char **argv) const QByteArray qtBinPath = QFile::encodeName(QDir::toNativeSeparators(QCoreApplication::applicationDirPath())); QByteArray path = qgetenv("PATH"); if (!path.contains(qtBinPath)) { // QTBUG-39177, ensure Qt is in the path so that qt.conf is taken into account. - path += ';'; + path += QDir::listSeparator(); path += qtBinPath; qputenv("PATH", path); } diff --git a/src/tools/windeployqt/utils.cpp b/src/tools/windeployqt/utils.cpp index bc52de924e41..a5809022ea90 100644 --- a/src/tools/windeployqt/utils.cpp +++ b/src/tools/windeployqt/utils.cpp @@ -172,7 +172,7 @@ QString normalizeFileName(const QString &name) // Find a tool binary in the Windows SDK 8 QString findSdkTool(const QString &tool) { - QStringList paths = QString::fromLocal8Bit(qgetenv("PATH")).split(QLatin1Char(';')); + QStringList paths = QString::fromLocal8Bit(qgetenv("PATH")).split(QDir::listSeparator()); const QByteArray sdkDir = qgetenv("WindowsSdkDir"); if (!sdkDir.isEmpty()) paths.prepend(QDir::cleanPath(QString::fromLocal8Bit(sdkDir)) + QLatin1String("/Tools/x64")); diff --git a/tests/auto/tools/windeployqt/tst_windeployqt.cpp b/tests/auto/tools/windeployqt/tst_windeployqt.cpp index 38403c90fca1..446984cb641f 100644 --- a/tests/auto/tools/windeployqt/tst_windeployqt.cpp +++ b/tests/auto/tools/windeployqt/tst_windeployqt.cpp @@ -149,7 +149,7 @@ void tst_windeployqt::deploy() const QString qtBinDir = QDir::toNativeSeparators(QLibraryInfo::path(QLibraryInfo::BinariesPath)); QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); const QString pathKey = QLatin1String("PATH"); - const QChar pathSeparator(QLatin1Char(';')); // ### fixme: Qt 5.6: QDir::listSeparator() + const QChar pathSeparator(QDir::listSeparator()); const QString origPath = env.value(pathKey); QString newPath; const QStringList pathElements = origPath.split(pathSeparator, Qt::SkipEmptyParts);