mirror of
https://github.com/libretro/RetroArch
synced 2025-03-27 05:37:40 +00:00
Create retro_dirent_include_hidden
This commit is contained in:
parent
2fda0b7e66
commit
3a141cb891
@ -235,6 +235,16 @@ bool retro_dirent_is_dir(struct RDIR *rdir, const char *path)
|
||||
#endif
|
||||
}
|
||||
|
||||
void retro_dirent_include_hidden(struct RDIR *rdir, bool include_hidden)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
if (include_hidden)
|
||||
rdir->entry.dwFileAttributes |= FILE_ATTRIBUTE_HIDDEN;
|
||||
else
|
||||
rdir->entry.dwFileAttributes &= ~FILE_ATTRIBUTE_HIDDEN;
|
||||
#endif
|
||||
}
|
||||
|
||||
void retro_closedir(struct RDIR *rdir)
|
||||
{
|
||||
if (!rdir)
|
||||
|
@ -38,6 +38,8 @@ int retro_readdir(struct RDIR *rdir);
|
||||
|
||||
bool retro_dirent_error(struct RDIR *rdir);
|
||||
|
||||
void retro_dirent_include_hidden(struct RDIR *rdir, bool include_hidden);
|
||||
|
||||
const char *retro_dirent_get_name(struct RDIR *rdir);
|
||||
|
||||
/**
|
||||
|
@ -174,21 +174,10 @@ static int dir_list_read(const char *dir,
|
||||
{
|
||||
struct RDIR *entry = retro_opendir(dir);
|
||||
|
||||
if (!entry)
|
||||
return -1;
|
||||
if (!entry || retro_dirent_error(entry))
|
||||
goto error;
|
||||
|
||||
if (retro_dirent_error(entry))
|
||||
{
|
||||
retro_closedir(entry);
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
if (include_hidden)
|
||||
entry->entry.dwFileAttributes |= FILE_ATTRIBUTE_HIDDEN;
|
||||
else
|
||||
entry->entry.dwFileAttributes &= ~FILE_ATTRIBUTE_HIDDEN;
|
||||
#endif
|
||||
retro_dirent_include_hidden(entry, include_hidden);
|
||||
|
||||
while (retro_readdir(entry))
|
||||
{
|
||||
@ -222,10 +211,7 @@ static int dir_list_read(const char *dir,
|
||||
include_dirs, include_compressed, list, ext_list, file_ext);
|
||||
|
||||
if (ret == -1)
|
||||
{
|
||||
retro_closedir(entry);
|
||||
return -1;
|
||||
}
|
||||
goto error;
|
||||
|
||||
if (ret == 1)
|
||||
continue;
|
||||
@ -234,6 +220,11 @@ static int dir_list_read(const char *dir,
|
||||
retro_closedir(entry);
|
||||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
if (entry)
|
||||
retro_closedir(entry);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user