This commit is contained in:
twinaphex 2015-08-31 12:52:42 +02:00
parent 7f5399071e
commit b0f9e1ac9c
1 changed files with 15 additions and 16 deletions

View File

@ -208,19 +208,19 @@ static int parse_dir_entry(const char *name, char *file_path,
char path_buf[PATH_MAX_LENGTH]; \ char path_buf[PATH_MAX_LENGTH]; \
snprintf(path_buf, sizeof(path_buf), "%s\\*", dir); \ snprintf(path_buf, sizeof(path_buf), "%s\\*", dir); \
directory = FindFirstFile(path_buf, &entry); \ directory = FindFirstFile(path_buf, &entry); \
if (directory == INVALID_HANDLE_VALUE) \
goto error; \
} }
#elif defined(VITA) #elif defined(VITA)
#define dirent_opendir(directory, dir) \ #define dirent_opendir(directory, dir) directory = sceIoDopen(dir)
directory = sceIoDopen(dir); \
if (directory < 0) \
goto error
#else #else
#define dirent_opendir(directory, dir) \ #define dirent_opendir(directory, dir) directory = opendir(dir)
directory = opendir(dir); \ #endif
if (!directory) \
goto error #if defined(_WIN32)
#define dirent_error(directory) ((directory) == INVALID_HANDLE_VALUE)
#elif defined(VITA)
#define dirent_error(directory) ((directory) < 0)
#else
#define dirent_error(directory) (!(directory))
#endif #endif
#if defined(_WIN32) #if defined(_WIN32)
@ -232,15 +232,11 @@ static int parse_dir_entry(const char *name, char *file_path,
#endif #endif
#if defined(_WIN32) #if defined(_WIN32)
#define dirent_closedir(directory) \ #define dirent_closedir(directory) if (directory != INVALID_HANDLE_VALUE) FindClose(directory)
if (directory != INVALID_HANDLE_VALUE) \
FindClose(directory)
#elif defined(VITA) #elif defined(VITA)
#define dirent_closedir(directory) sceIoDclose(directory) #define dirent_closedir(directory) sceIoDclose(directory)
#else #else
#define dirent_closedir(directory) \ #define dirent_closedir(directory) if (directory) closedir(directory)
if (directory) \
closedir(directory)
#endif #endif
@ -280,6 +276,9 @@ struct string_list *dir_list_new(const char *dir,
dirent_opendir(directory, dir); dirent_opendir(directory, dir);
if (dirent_error(directory))
goto error;
while (dirent_readdir(directory, entry)) while (dirent_readdir(directory, entry))
{ {
char file_path[PATH_MAX_LENGTH]; char file_path[PATH_MAX_LENGTH];