Reimplement slang_preprocess_parse_parameters

This commit is contained in:
twinaphex 2020-08-24 00:54:24 +02:00
parent cd6e1cf3fa
commit 0a69d14b11
2 changed files with 15 additions and 18 deletions

View File

@ -428,26 +428,23 @@ bool slang_preprocess_parse_parameters(const char *shader_path,
struct video_shader *shader) struct video_shader *shader)
{ {
glslang_meta meta; glslang_meta meta;
bool ret = false; struct string_list lines;
struct string_list *lines = string_list_new();
if (!lines) if (!string_list_initialize(&lines))
goto end; goto error;
if (!glslang_read_shader_file(shader_path, lines, true)) if (!glslang_read_shader_file(shader_path, &lines, true))
goto end; goto error;
meta = glslang_meta{}; meta = glslang_meta{};
if (!glslang_parse_meta(lines, &meta)) if (!glslang_parse_meta(&lines, &meta))
goto end; goto error;
ret = slang_preprocess_parse_parameters(meta, shader); string_list_deinitialize(&lines);
return slang_preprocess_parse_parameters(meta, shader);
end: error:
string_list_deinitialize(&lines);
if (lines) return false;
string_list_free(lines);
return ret;
} }
bool slang_process( bool slang_process(

View File

@ -235,9 +235,9 @@ struct string_list *dir_list_new(const char *dir,
bool include_hidden, bool include_compressed, bool include_hidden, bool include_compressed,
bool recursive) bool recursive)
{ {
struct string_list *list = NULL; struct string_list *list = string_list_new();
if (!(list = string_list_new())) if (!list)
return NULL; return NULL;
if (!dir_list_append(list, dir, ext, include_dirs, if (!dir_list_append(list, dir, ext, include_dirs,