diff --git a/src/corelib/io/qstorageinfo_linux.cpp b/src/corelib/io/qstorageinfo_linux.cpp index b7ca498e9c4..f5be2454a24 100644 --- a/src/corelib/io/qstorageinfo_linux.cpp +++ b/src/corelib/io/qstorageinfo_linux.cpp @@ -197,10 +197,8 @@ void QStorageInfoPrivate::retrieveVolumeInfo() struct statfs64 statfs_buf; int result; QT_EINTR_LOOP(result, statfs64(QFile::encodeName(rootPath).constData(), &statfs_buf)); - if (result == 0) { - valid = true; - ready = true; - + valid = ready = (result == 0); + if (valid) { bytesTotal = statfs_buf.f_blocks * statfs_buf.f_frsize; bytesFree = statfs_buf.f_bfree * statfs_buf.f_frsize; bytesAvailable = statfs_buf.f_bavail * statfs_buf.f_frsize; diff --git a/src/corelib/io/qstorageinfo_unix.cpp b/src/corelib/io/qstorageinfo_unix.cpp index 9df098a3891..b809a52f974 100644 --- a/src/corelib/io/qstorageinfo_unix.cpp +++ b/src/corelib/io/qstorageinfo_unix.cpp @@ -390,6 +390,7 @@ static inline QString retrieveLabel(const QByteArray &device) void QStorageInfoPrivate::doStat() { + valid = ready = false; initRootPath(); if (rootPath.isEmpty()) return; @@ -403,10 +404,8 @@ void QStorageInfoPrivate::retrieveVolumeInfo() QT_STATFSBUF statfs_buf; int result; QT_EINTR_LOOP(result, QT_STATFS(QFile::encodeName(rootPath).constData(), &statfs_buf)); - if (result == 0) { - valid = true; - ready = true; - + valid = ready = (result == 0); + if (valid) { #if defined(Q_OS_INTEGRITY) || (defined(Q_OS_BSD4) && !defined(Q_OS_NETBSD)) || defined(Q_OS_RTEMS) bytesTotal = statfs_buf.f_blocks * statfs_buf.f_bsize; bytesFree = statfs_buf.f_bfree * statfs_buf.f_bsize;