Fixed checking HOME variable return value using isEmpty()
Return value of the QFile::decodeName(qgetenv("HOME")); is never null if HOME environment variable is not set. So need to check the return value using isEmpty() instead. Task-number: QTBUG-28912 Change-Id: Ic57b1978d63e99b056cde35ca8cb9d2a07ff8ce8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
This commit is contained in:
parent
a909dd0ea4
commit
05b4000e01
@ -633,7 +633,7 @@ bool QFileSystemEngine::setPermissions(const QFileSystemEntry &entry, QFile::Per
|
||||
QString QFileSystemEngine::homePath()
|
||||
{
|
||||
QString home = QFile::decodeName(qgetenv("HOME"));
|
||||
if (home.isNull())
|
||||
if (home.isEmpty())
|
||||
home = rootPath();
|
||||
return QDir::cleanPath(home);
|
||||
}
|
||||
|
@ -1344,6 +1344,14 @@ void tst_QDir::homePath()
|
||||
#ifdef Q_OS_UNIX
|
||||
if (strHome.length() > 1) // root dir = "/"
|
||||
QVERIFY(!strHome.endsWith('/'));
|
||||
|
||||
QByteArray envHome = qgetenv("HOME");
|
||||
#if !defined(_WRS_KERNEL) // unsetenv is not available on VxWorks DKM mode
|
||||
unsetenv("HOME");
|
||||
#endif
|
||||
QCOMPARE(QDir::homePath(), QDir::rootPath());
|
||||
qputenv("HOME", envHome);
|
||||
|
||||
#elif defined(Q_OS_WIN)
|
||||
if (strHome.length() > 3) // root dir = "c:/"; "//" is not really valid...
|
||||
QVERIFY(!strHome.endsWith('/'));
|
||||
|
Loading…
Reference in New Issue
Block a user