diff options
author | Eric Fiselier <eric@efcs.ca> | 2018-07-23 04:55:57 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2018-07-23 04:55:57 +0000 |
commit | 04ce4aef00d3ee508327f6cf7bf1b1d200ab6238 (patch) | |
tree | 72d47a22a941aac2347a4070fe06831ca3a7940e | |
parent | 24acfd881a8f0573f6f5a1e2c2617beb6d0be974 (diff) |
Use possibly cached directory entry values when performing recursive directory iteration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337669 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | src/experimental/filesystem/directory_iterator.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/experimental/filesystem/directory_iterator.cpp b/src/experimental/filesystem/directory_iterator.cpp index 60f234cb1..b49ea398f 100644 --- a/src/experimental/filesystem/directory_iterator.cpp +++ b/src/experimental/filesystem/directory_iterator.cpp @@ -359,13 +359,13 @@ bool recursive_directory_iterator::__try_recursion(error_code *ec) { bool skip_rec = false; std::error_code m_ec; if (!rec_sym) { - file_status st = curr_it.__entry_.symlink_status(m_ec); + file_status st(curr_it.__entry_.__get_sym_ft(&m_ec)); if (m_ec && status_known(st)) m_ec.clear(); if (m_ec || is_symlink(st) || !is_directory(st)) skip_rec = true; } else { - file_status st = curr_it.__entry_.status(m_ec); + file_status st(curr_it.__entry_.__get_ft(&m_ec)); if (m_ec && status_known(st)) m_ec.clear(); if (m_ec || !is_directory(st)) |