forked from qt-creator/qt-creator
Proliferate pathListSeparator()
Change-Id: I546107af6a88ad5901659a0a64485e4ebca3a164 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -155,14 +155,13 @@ void Environment::prependOrSet(const QString &key, const QString &value, const Q
|
|||||||
void Environment::prependOrSetLibrarySearchPath(const FilePath &value)
|
void Environment::prependOrSetLibrarySearchPath(const FilePath &value)
|
||||||
{
|
{
|
||||||
QTC_CHECK(value.osType() == osType());
|
QTC_CHECK(value.osType() == osType());
|
||||||
|
const QChar sep = OsSpecificAspects::pathListSeparator(osType());
|
||||||
switch (osType()) {
|
switch (osType()) {
|
||||||
case OsTypeWindows: {
|
case OsTypeWindows: {
|
||||||
const QChar sep = ';';
|
|
||||||
prependOrSet("PATH", value.nativePath(), sep);
|
prependOrSet("PATH", value.nativePath(), sep);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case OsTypeMac: {
|
case OsTypeMac: {
|
||||||
const QChar sep = ':';
|
|
||||||
const QString nativeValue = value.nativePath();
|
const QString nativeValue = value.nativePath();
|
||||||
prependOrSet("DYLD_LIBRARY_PATH", nativeValue, sep);
|
prependOrSet("DYLD_LIBRARY_PATH", nativeValue, sep);
|
||||||
prependOrSet("DYLD_FRAMEWORK_PATH", nativeValue, sep);
|
prependOrSet("DYLD_FRAMEWORK_PATH", nativeValue, sep);
|
||||||
@@ -170,7 +169,6 @@ void Environment::prependOrSetLibrarySearchPath(const FilePath &value)
|
|||||||
}
|
}
|
||||||
case OsTypeLinux:
|
case OsTypeLinux:
|
||||||
case OsTypeOtherUnix: {
|
case OsTypeOtherUnix: {
|
||||||
const QChar sep = ':';
|
|
||||||
prependOrSet("LD_LIBRARY_PATH", value.nativePath(), sep);
|
prependOrSet("LD_LIBRARY_PATH", value.nativePath(), sep);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,14 +118,6 @@ static QString expand(const NameValueDictionary *dictionary, QString value)
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum : char {
|
|
||||||
#ifdef Q_OS_WIN
|
|
||||||
pathSepC = ';'
|
|
||||||
#else
|
|
||||||
pathSepC = ':'
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
void NameValueItem::apply(NameValueDictionary *dictionary, Operation op) const
|
void NameValueItem::apply(NameValueDictionary *dictionary, Operation op) const
|
||||||
{
|
{
|
||||||
switch (op) {
|
switch (op) {
|
||||||
@@ -142,7 +134,7 @@ void NameValueItem::apply(NameValueDictionary *dictionary, Operation op) const
|
|||||||
const NameValueDictionary::const_iterator it = dictionary->constFind(name);
|
const NameValueDictionary::const_iterator it = dictionary->constFind(name);
|
||||||
if (it != dictionary->constEnd()) {
|
if (it != dictionary->constEnd()) {
|
||||||
QString v = dictionary->value(it);
|
QString v = dictionary->value(it);
|
||||||
const QChar pathSep{QLatin1Char(pathSepC)};
|
const QChar pathSep = HostOsInfo::pathListSeparator();
|
||||||
int sepCount = 0;
|
int sepCount = 0;
|
||||||
if (v.startsWith(pathSep))
|
if (v.startsWith(pathSep))
|
||||||
++sepCount;
|
++sepCount;
|
||||||
@@ -162,7 +154,7 @@ void NameValueItem::apply(NameValueDictionary *dictionary, Operation op) const
|
|||||||
const NameValueDictionary::const_iterator it = dictionary->constFind(name);
|
const NameValueDictionary::const_iterator it = dictionary->constFind(name);
|
||||||
if (it != dictionary->constEnd()) {
|
if (it != dictionary->constEnd()) {
|
||||||
QString v = dictionary->value(it);
|
QString v = dictionary->value(it);
|
||||||
const QChar pathSep{QLatin1Char(pathSepC)};
|
const QChar pathSep = HostOsInfo::pathListSeparator();
|
||||||
int sepCount = 0;
|
int sepCount = 0;
|
||||||
if (v.endsWith(pathSep))
|
if (v.endsWith(pathSep))
|
||||||
++sepCount;
|
++sepCount;
|
||||||
|
|||||||
@@ -421,10 +421,11 @@ void CdbEngine::setupEngine()
|
|||||||
inferiorEnvironment.set(qtLoggingToConsoleKey, "0");
|
inferiorEnvironment.set(qtLoggingToConsoleKey, "0");
|
||||||
|
|
||||||
static const char cdbExtensionPathVariableC[] = "_NT_DEBUGGER_EXTENSION_PATH";
|
static const char cdbExtensionPathVariableC[] = "_NT_DEBUGGER_EXTENSION_PATH";
|
||||||
inferiorEnvironment.prependOrSet(cdbExtensionPathVariableC, extensionFi.absolutePath(), {";"});
|
const QString pSep = OsSpecificAspects::pathListSeparator(Utils::OsTypeWindows);
|
||||||
|
inferiorEnvironment.prependOrSet(cdbExtensionPathVariableC, extensionFi.absolutePath(), pSep);
|
||||||
const QString oldCdbExtensionPath = qtcEnvironmentVariable(cdbExtensionPathVariableC);
|
const QString oldCdbExtensionPath = qtcEnvironmentVariable(cdbExtensionPathVariableC);
|
||||||
if (!oldCdbExtensionPath.isEmpty())
|
if (!oldCdbExtensionPath.isEmpty())
|
||||||
inferiorEnvironment.appendOrSet(cdbExtensionPathVariableC, oldCdbExtensionPath, {";"});
|
inferiorEnvironment.appendOrSet(cdbExtensionPathVariableC, oldCdbExtensionPath, pSep);
|
||||||
|
|
||||||
m_process.setEnvironment(inferiorEnvironment);
|
m_process.setEnvironment(inferiorEnvironment);
|
||||||
if (!sp.inferior.workingDirectory.isEmpty())
|
if (!sp.inferior.workingDirectory.isEmpty())
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ void tst_Environment::pathChanges()
|
|||||||
QFETCH(QString, value);
|
QFETCH(QString, value);
|
||||||
QFETCH(Environment, expected);
|
QFETCH(Environment, expected);
|
||||||
|
|
||||||
const QString sep = environment.osType() == OsTypeWindows ? ";" : ":";
|
const QString sep = HostOsInfo::pathListSeparator();
|
||||||
|
|
||||||
if (prepend)
|
if (prepend)
|
||||||
environment.prependOrSet(variable, value, sep);
|
environment.prependOrSet(variable, value, sep);
|
||||||
|
|||||||
Reference in New Issue
Block a user