Ignore hidden files when using wildcards.

This commit is contained in:
Steven Mattera 2018-11-08 19:09:14 -05:00
parent ec1bb508b3
commit 14cdcc1497
5 changed files with 7 additions and 7 deletions

View file

@ -45,7 +45,7 @@ int ini_parse(link_t *dst, char *ini_path, bool is_dir)
if (is_dir) if (is_dir)
{ {
filelist = dirlist(filename, "*.ini"); filelist = dirlist(filename, "*.ini", false);
if (!filelist) if (!filelist)
{ {
free(filename); free(filename);

View file

@ -376,7 +376,7 @@ static int _config_kip1(launch_ctxt_t *ctxt, const char *value)
u32 dirlen = 0; u32 dirlen = 0;
dir[strlen(dir) - 2] = 0; dir[strlen(dir) - 2] = 0;
char *filelist = dirlist(dir, "*.kip*"); char *filelist = dirlist(dir, "*.kip*", false);
memcpy(dir + strlen(dir), "/", 2); memcpy(dir + strlen(dir), "/", 2);
dirlen = strlen(dir); dirlen = strlen(dir);

View file

@ -1985,7 +1985,7 @@ void launch_tools(u8 type)
else else
memcpy(dir, "bootloader/libtools", 20); memcpy(dir, "bootloader/libtools", 20);
filelist = dirlist(dir, NULL); filelist = dirlist(dir, NULL, false);
u32 i = 0; u32 i = 0;

View file

@ -21,7 +21,7 @@
#include "../mem/heap.h" #include "../mem/heap.h"
#include "../utils/types.h" #include "../utils/types.h"
char *dirlist(const char *directory, const char *pattern) char *dirlist(const char *directory, const char *pattern, bool includeHiddenFiles)
{ {
u8 max_entries = 61; u8 max_entries = 61;
@ -40,7 +40,7 @@ char *dirlist(const char *directory, const char *pattern)
res = f_readdir(&dir, &fno); res = f_readdir(&dir, &fno);
if (res || !fno.fname[0]) if (res || !fno.fname[0])
break; break;
if (!(fno.fattrib & AM_DIR)) if (!(fno.fattrib & AM_DIR) && (fno.fname[0] != '.') && (includeHiddenFiles || !(fno.fattrib & AM_HID)))
{ {
memcpy(dir_entries + (k * 256), fno.fname, strlen(fno.fname) + 1); memcpy(dir_entries + (k * 256), fno.fname, strlen(fno.fname) + 1);
k++; k++;
@ -54,7 +54,7 @@ char *dirlist(const char *directory, const char *pattern)
{ {
do do
{ {
if (!(fno.fattrib & AM_DIR)) if (!(fno.fattrib & AM_DIR) && (fno.fname[0] != '.') && (includeHiddenFiles || !(fno.fattrib & AM_HID)))
{ {
memcpy(dir_entries + (k * 256), fno.fname, strlen(fno.fname) + 1); memcpy(dir_entries + (k * 256), fno.fname, strlen(fno.fname) + 1);
k++; k++;

View file

@ -16,4 +16,4 @@
#include "../utils/types.h" #include "../utils/types.h"
char *dirlist(const char *directory, const char *pattern); char *dirlist(const char *directory, const char *pattern, bool includeHiddenFiles);