From bc72f565f91dd7fef86f73444bbb8893c8653750 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sat, 20 Nov 2021 14:18:54 +0200 Subject: [PATCH] replace QFileInfo with QStatInfo in network component where possible Signed-off-by: Ivailo Monev --- src/core/kernel/qcore_unix_p.h | 3 +++ src/network/access/qnetworkaccessfilebackend.cpp | 12 ++++++------ src/network/access/qnetworkreplyfileimpl.cpp | 17 ++++++++--------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/core/kernel/qcore_unix_p.h b/src/core/kernel/qcore_unix_p.h index 1b163dcdc..710ffa829 100644 --- a/src/core/kernel/qcore_unix_p.h +++ b/src/core/kernel/qcore_unix_p.h @@ -37,6 +37,7 @@ #include "qatomic.h" #include "qlist.h" #include "qstring.h" +#include "qdatetime.h" #include #include @@ -76,6 +77,8 @@ public: { return m_uid; } inline gid_t groupId() const { return m_gid; } + inline QDateTime lastModified() const + { return QDateTime::fromTime_t(m_mtime); } inline bool exists() const { return (m_mode != 0); } inline bool isFile() const diff --git a/src/network/access/qnetworkaccessfilebackend.cpp b/src/network/access/qnetworkaccessfilebackend.cpp index 4ddfcc823..b14aa0ff8 100644 --- a/src/network/access/qnetworkaccessfilebackend.cpp +++ b/src/network/access/qnetworkaccessfilebackend.cpp @@ -24,8 +24,8 @@ #include "qurlinfo.h" #include "qdir.h" #include "qnoncontiguousbytedevice_p.h" - -#include +#include "qcoreapplication.h" +#include "qcore_unix_p.h" QT_BEGIN_NAMESPACE @@ -196,14 +196,14 @@ void QNetworkAccessFileBackend::downstreamReadyWrite() bool QNetworkAccessFileBackend::loadFileInfo() { - QFileInfo fi(file); - setHeader(QNetworkRequest::LastModifiedHeader, fi.lastModified()); - setHeader(QNetworkRequest::ContentLengthHeader, fi.size()); + QStatInfo si(file.fileName()); + setHeader(QNetworkRequest::LastModifiedHeader, si.lastModified()); + setHeader(QNetworkRequest::ContentLengthHeader, qint64(si.size())); // signal we're open metaDataChanged(); - if (fi.isDir()) { + if (si.isDir()) { error(QNetworkReply::ContentOperationNotPermittedError, QCoreApplication::translate("QNetworkAccessFileBackend", "Cannot open %1: Path is a directory").arg(url().toString())); finished(); diff --git a/src/network/access/qnetworkreplyfileimpl.cpp b/src/network/access/qnetworkreplyfileimpl.cpp index db8ab079b..558bf8f66 100644 --- a/src/network/access/qnetworkreplyfileimpl.cpp +++ b/src/network/access/qnetworkreplyfileimpl.cpp @@ -20,11 +20,10 @@ ****************************************************************************/ #include "qnetworkreplyfileimpl_p.h" - -#include "QtCore/qdatetime.h" -#include -#include -#include +#include "qdatetime.h" +#include "qcoreapplication.h" +#include "qdebug.h" +#include "qcore_unix_p.h" QT_BEGIN_NAMESPACE @@ -68,8 +67,8 @@ QNetworkReplyFileImpl::QNetworkReplyFileImpl(QObject *parent, const QNetworkRequ fileName = url.toString(QUrl::RemoveAuthority | QUrl::RemoveFragment | QUrl::RemoveQuery); } - QFileInfo fi(fileName); - if (fi.isDir()) { + QStatInfo si(fileName); + if (si.isDir()) { QString msg = QCoreApplication::translate("QNetworkAccessFileBackend", "Cannot open %1: Path is a directory").arg(url.toString()); setError(QNetworkReply::ContentOperationNotPermittedError, msg); QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection, @@ -99,8 +98,8 @@ QNetworkReplyFileImpl::QNetworkReplyFileImpl(QObject *parent, const QNetworkRequ return; } - setHeader(QNetworkRequest::LastModifiedHeader, fi.lastModified()); - d->realFileSize = fi.size(); + setHeader(QNetworkRequest::LastModifiedHeader, si.lastModified()); + d->realFileSize = si.size(); setHeader(QNetworkRequest::ContentLengthHeader, d->realFileSize); QMetaObject::invokeMethod(this, "metaDataChanged", Qt::QueuedConnection); -- 2.11.0