diff --git a/build.sh b/build.sh index 74bae9fb..56e073d9 100644 --- a/build.sh +++ b/build.sh @@ -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 diff --git a/src/metagen/metagen_os/core/linux/metagen_os_core_linux.c b/src/metagen/metagen_os/core/linux/metagen_os_core_linux.c index 5169ba0f..2220b63e 100644 --- a/src/metagen/metagen_os/core/linux/metagen_os_core_linux.c +++ b/src/metagen/metagen_os/core/linux/metagen_os_core_linux.c @@ -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 diff --git a/src/os/core/linux/os_core_linux.c b/src/os/core/linux/os_core_linux.c index 5169ba0f..2220b63e 100644 --- a/src/os/core/linux/os_core_linux.c +++ b/src/os/core/linux/os_core_linux.c @@ -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