diff options
author | Ahmad Samir <a.samirh78@gmail.com> | 2023-12-14 19:50:42 +0200 |
---|---|---|
committer | Ahmad Samir <a.samirh78@gmail.com> | 2024-02-03 00:12:00 +0200 |
commit | 3758829162ec38c1b010a0ee4ac836da6180bb55 (patch) | |
tree | 4e0a79a5561821cd8b0b08235d8d31cca8d7a1ca /src/corelib/io/qfilesystemiterator_p.h | |
parent | 3aa9388056f56b65b33cd2929a690584e21a02b2 (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.h | 16 |
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) |