diff --git a/list_special.c b/list_special.c index b963b371f4..3accb848fb 100644 --- a/list_special.c +++ b/list_special.c @@ -49,17 +49,15 @@ struct string_list *dir_list_new_special(const char *input_dir, enum dir_list_type type, const char *filter) { - char ext_shaders[PATH_MAX_LENGTH]; - char ext_name[PATH_MAX_LENGTH]; - const char *dir = NULL; - const char *exts = NULL; - bool include_dirs = false; - - settings_t *settings = config_get_ptr(); + char ext_shaders[PATH_MAX_LENGTH] = {0}; + char ext_name[PATH_MAX_LENGTH] = {0}; + const char *dir = NULL; + const char *exts = NULL; + bool include_dirs = false; + settings_t *settings = config_get_ptr(); (void)input_dir; (void)settings; - ext_shaders[0] = '\0'; switch (type) { @@ -92,7 +90,7 @@ struct string_list *dir_list_new_special(const char *input_dir, if (!str_list) return NULL; - dir = settings->directory.video_shader; + dir = input_dir; #ifdef HAVE_CG string_list_append(str_list, "cg", attr); string_list_append(str_list, "cgp", attr); diff --git a/runloop.c b/runloop.c index 13512c2a80..7e8c2d97d9 100644 --- a/runloop.c +++ b/runloop.c @@ -472,7 +472,7 @@ static bool shader_dir_init(rarch_dir_list_t *dir_list) if (!*settings->directory.video_shader) return false; - dir_list->list = dir_list_new_special(NULL, DIR_LIST_SHADERS, NULL); + dir_list->list = dir_list_new_special(settings->directory.video_shader, DIR_LIST_SHADERS, NULL); if (!dir_list->list || dir_list->list->size == 0) {