os_core: fix file tree iteration

This commit is contained in:
Ryan Fleury
2024-07-16 16:44:05 -07:00
parent d0d9327236
commit d5338c05f2
3 changed files with 13 additions and 8 deletions
+7 -6
View File
@@ -1,4 +1,5 @@
#!/bin/bash
cd "$(dirname "$0")"
# --- Unpack Arguments --------------------------------------------------------
for arg in "$@"; do declare $arg='1'; done
@@ -40,7 +41,7 @@ if [ "$no_meta" = "" ]
then
cd build
$compile_debug ../src/metagen/metagen_main.c $compile_link $out metagen || exit 1
metagen || exit 1
./metagen || exit 1
cd ..
fi
@@ -51,8 +52,8 @@ if [ "$ryan_scratch" = "1" ]; then didbuild=1 && $compile ../src/scratch/ryan_s
cd ..
# --- Warn On No Builds -------------------------------------------------------
#if [ "$didbuild" = "" ]
#then
# echo "[WARNING] no valid build target specified; must use build target names as arguments to this script, like `./build.sh raddbg` or `./build.sh rdi_from_pdb`."
# exit 1
#fi
if [ "$didbuild" = "" ]
then
echo "[WARNING] no valid build target specified; must use build target names as arguments to this script, like \`./build.sh raddbg\` or \`./build.sh rdi_from_pdb\`."
exit 1
fi
@@ -549,7 +549,9 @@ os_file_iter_next(Arena *arena, OS_FileIter *iter, OS_FileInfo *info_out)
if(good)
{
filtered = ((st.st_mode == S_IFDIR && iter->flags & OS_FileIterFlag_SkipFolders) ||
(st.st_mode == S_IFREG && iter->flags & OS_FileIterFlag_SkipFiles));
(st.st_mode == S_IFREG && iter->flags & OS_FileIterFlag_SkipFiles) ||
(lnx_iter->dp->d_name[0] == '.' && lnx_iter->dp->d_name[1] == 0) ||
(lnx_iter->dp->d_name[0] == '.' && lnx_iter->dp->d_name[1] == '.' && lnx_iter->dp->d_name[2] == 0));
}
// rjf: output & exit, if good & unfiltered
+3 -1
View File
@@ -549,7 +549,9 @@ os_file_iter_next(Arena *arena, OS_FileIter *iter, OS_FileInfo *info_out)
if(good)
{
filtered = ((st.st_mode == S_IFDIR && iter->flags & OS_FileIterFlag_SkipFolders) ||
(st.st_mode == S_IFREG && iter->flags & OS_FileIterFlag_SkipFiles));
(st.st_mode == S_IFREG && iter->flags & OS_FileIterFlag_SkipFiles) ||
(lnx_iter->dp->d_name[0] == '.' && lnx_iter->dp->d_name[1] == 0) ||
(lnx_iter->dp->d_name[0] == '.' && lnx_iter->dp->d_name[1] == '.' && lnx_iter->dp->d_name[2] == 0));
}
// rjf: output & exit, if good & unfiltered