@@ -93,7 +93,8 @@ class Win32FileInfo {
9393 Win32FileAttribute::OFFLINE | Win32FileAttribute::READONLY | Win32FileAttribute::SPARSE_FILE |
9494 Win32FileAttribute::SYSTEM | Win32FileAttribute::TEMPORARY
9595 );
96- return (fileAttributes & regular_file_attrs) != 0 ;
96+ return (fileAttributes & regular_file_attrs) != 0 &&
97+ (fileAttributes & from_enum (Win32FileAttribute::DIRECTORY)) == 0 ;
9798 }
9899 size_t filesize () const { return fileSize; }
99100 Instant last_access () const {
@@ -119,7 +120,7 @@ class Win32DirectoryIterate {
119120 friend class Win32DirectoryIterator ;
120121 Path m_path;
121122 bool m_recurse;
122- Win32DirectoryIterate () : m_path(), m_recurse(){};
123+ Win32DirectoryIterate () : m_path(), m_recurse() {};
123124 Win32DirectoryIterate (Win32DirectoryIterate&& other) noexcept :
124125 m_path (move(other.m_path)), m_recurse(other.m_recurse) {}
125126 Win32DirectoryIterate& operator =(Win32DirectoryIterate&& other) noexcept {
@@ -133,13 +134,7 @@ class Win32DirectoryIterate {
133134 Win32DirectoryIterator end () const ;
134135};
135136class Win32DirectoryIterator {
136- enum class State {
137- Uninitialized,
138- Directory,
139- File,
140- Recursing,
141- Finished
142- };
137+ enum class State { Uninitialized, Directory, File, Recursing, Finished };
143138 friend Win32DirectoryIterate;
144139 friend struct PrintInfo <Win32DirectoryIterator>;
145140 Win32DirIterHandle m_hdl;
0 commit comments