Fix broken Solaris build (getpwnam_r usage)
Added ifdef inside qt_tildeExpansion function to use correct version of getpwnam_r depending on _C_POSIX_SOURCE version on Solaris platform. Task-number: QTBUG-21451 Merge-request: 1380 Reviewed-by: ossi (cherry picked from commit 48f64fc7ae9f0e9e8ab07ab60ccd55d3b053dfab) Change-Id: I48f64fc7ae9f0e9e8ab07ab60ccd55d3b053dfab Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This commit is contained in:
parent
b2aac995b9
commit
ebf5f42edb
@ -871,7 +871,12 @@ Q_AUTOTEST_EXPORT QString qt_tildeExpansion(const QString &path, bool *expanded
|
|||||||
passwd *tmpPw;
|
passwd *tmpPw;
|
||||||
char buf[200];
|
char buf[200];
|
||||||
const int bufSize = sizeof(buf);
|
const int bufSize = sizeof(buf);
|
||||||
int err = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize, &tmpPw);
|
int err = 0;
|
||||||
|
#if defined(Q_OS_SOLARIS) && (_POSIX_C_SOURCE - 0 < 199506L)
|
||||||
|
tmpPw = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize);
|
||||||
|
#else
|
||||||
|
err = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize, &tmpPw);
|
||||||
|
#endif
|
||||||
if (err || !tmpPw)
|
if (err || !tmpPw)
|
||||||
return ret;
|
return ret;
|
||||||
const QString homePath = QString::fromLocal8Bit(pw.pw_dir);
|
const QString homePath = QString::fromLocal8Bit(pw.pw_dir);
|
||||||
|
Loading…
Reference in New Issue
Block a user