From ee9f46423b85d6fbcfa43380c70cc7d0f3eff8f7 Mon Sep 17 00:00:00 2001 From: Geequlim Date: Sun, 21 Jul 2019 11:48:53 +0800 Subject: [PATCH] Revert "Optimize DirAccessUnix::get_next() for some file systems" --- drivers/unix/dir_access_unix.cpp | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp index d5582d00ed6..251bab5783a 100644 --- a/drivers/unix/dir_access_unix.cpp +++ b/drivers/unix/dir_access_unix.cpp @@ -136,31 +136,27 @@ String DirAccessUnix::get_next() { return ""; } + //typedef struct stat Stat; + struct stat flags; + String fname = fix_unicode_name(entry->d_name); - if (entry->d_type == DT_UNKNOWN) { - //typedef struct stat Stat; - struct stat flags; + String f = current_dir.plus_file(fname); - String f = current_dir.plus_file(fname); + if (stat(f.utf8().get_data(), &flags) == 0) { - if (stat(f.utf8().get_data(), &flags) == 0) { + if (S_ISDIR(flags.st_mode)) { - if (S_ISDIR(flags.st_mode)) { - - _cisdir = true; - - } else { - - _cisdir = false; - } + _cisdir = true; } else { _cisdir = false; } + } else { - _cisdir = (entry->d_type == DT_DIR); + + _cisdir = false; } _cishidden = (fname != "." && fname != ".." && fname.begins_with("."));