OSDN Git Service

replace QFileInfo with QStatInfo in network component where possible
authorIvailo Monev <xakepa10@gmail.com>
Sat, 20 Nov 2021 12:18:54 +0000 (14:18 +0200)
committerIvailo Monev <xakepa10@gmail.com>
Sat, 20 Nov 2021 12:18:54 +0000 (14:18 +0200)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/core/kernel/qcore_unix_p.h
src/network/access/qnetworkaccessfilebackend.cpp
src/network/access/qnetworkreplyfileimpl.cpp

index 1b163dc..710ffa8 100644 (file)
@@ -37,6 +37,7 @@
 #include "qatomic.h"
 #include "qlist.h"
 #include "qstring.h"
+#include "qdatetime.h"
 
 #include <poll.h>
 #include <string.h>
@@ -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
index 4ddfcc8..b14aa0f 100644 (file)
@@ -24,8 +24,8 @@
 #include "qurlinfo.h"
 #include "qdir.h"
 #include "qnoncontiguousbytedevice_p.h"
-
-#include <QtCore/QCoreApplication>
+#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();
index db8ab07..558bf8f 100644 (file)
 ****************************************************************************/
 
 #include "qnetworkreplyfileimpl_p.h"
-
-#include "QtCore/qdatetime.h"
-#include <QtCore/QCoreApplication>
-#include <QtCore/QFileInfo>
-#include <QDebug>
+#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);