mirror of
https://github.com/libretro/RetroArch.git
synced 2025-04-02 10:51:52 -04:00
Create retro_dirent_include_hidden
This commit is contained in:
parent
2fda0b7e66
commit
3a141cb891
3 changed files with 21 additions and 18 deletions
|
@ -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…
Add table
Reference in a new issue