summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qfilesystemiterator_p.h
diff options
context:
space:
mode:
authorAhmad Samir <a.samirh78@gmail.com>2023-12-14 19:50:42 +0200
committerAhmad Samir <a.samirh78@gmail.com>2024-02-03 00:12:00 +0200
commit3758829162ec38c1b010a0ee4ac836da6180bb55 (patch)
tree4e0a79a5561821cd8b0b08235d8d31cca8d7a1ca /src/corelib/io/qfilesystemiterator_p.h
parent3aa9388056f56b65b33cd2929a690584e21a02b2 (diff)
QFileSystemIterator: manage dirstream with unique_ptr
Less manual resource clean-ups. Drive-by changes, initialize members in-class. Also remove an unused include. Change-Id: I03cd12e1c6c12338d09daba916cd34cb36f04260 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/io/qfilesystemiterator_p.h')
-rw-r--r--src/corelib/io/qfilesystemiterator_p.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/corelib/io/qfilesystemiterator_p.h b/src/corelib/io/qfilesystemiterator_p.h
index 2792340637..29d000261c 100644
--- a/src/corelib/io/qfilesystemiterator_p.h
+++ b/src/corelib/io/qfilesystemiterator_p.h
@@ -26,10 +26,7 @@
#include <QtCore/private/qfilesystementry_p.h>
#include <QtCore/private/qfilesystemmetadata_p.h>
-// Platform-specific headers
-#if !defined(Q_OS_WIN)
-#include <QtCore/qscopedpointer.h>
-#endif
+#include <memory>
QT_BEGIN_NAMESPACE
@@ -55,9 +52,14 @@ private:
int uncShareIndex;
bool onlyDirs;
#else
- QT_DIR *dir;
- QT_DIRENT *dirEntry;
- int lastError;
+ struct DirStreamCloser {
+ void operator()(QT_DIR *dir) { if (dir) QT_CLOSEDIR(dir); }
+ };
+ using DirPtr = std::unique_ptr<QT_DIR, DirStreamCloser>;
+ DirPtr dir;
+
+ QT_DIRENT *dirEntry = nullptr;
+ int lastError = 0;
#endif
Q_DISABLE_COPY_MOVE(QFileSystemIterator)