diff options
author | Eric Engestrom <[email protected]> | 2019-06-12 15:46:11 +0100 |
---|---|---|
committer | Eric Engestrom <[email protected]> | 2019-06-28 23:37:49 +0100 |
commit | d02d2b626b7b7dd9ccb0e81b48c351cdf65156b3 (patch) | |
tree | 992d7437fd6fc411528511af38564547463ac655 /src/mesa/main/shaderapi.c | |
parent | 1b259f1ae798099de280dd0ee10018d1fd54be04 (diff) |
mesa: use os_file_create_unique()
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Kristian H. Kristensen <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/mesa/main/shaderapi.c')
-rw-r--r-- | src/mesa/main/shaderapi.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 584af9b8cef..f23e9c00be5 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -63,6 +63,7 @@ #include "util/hash_table.h" #include "util/mesa-sha1.h" #include "util/crc32.h" +#include "util/os_file.h" /** * Return mask of GLSL_x flags by examining the MESA_GLSL env var. @@ -1241,6 +1242,7 @@ link_program(struct gl_context *ctx, struct gl_shader_program *shProg, const char *capture_path = _mesa_get_shader_capture_path(); if (shProg->Name != 0 && shProg->Name != ~0 && capture_path != NULL) { /* Find an unused filename. */ + FILE *file = NULL; char *filename = NULL; for (unsigned i = 0;; i++) { if (i) { @@ -1250,14 +1252,11 @@ link_program(struct gl_context *ctx, struct gl_shader_program *shProg, filename = ralloc_asprintf(NULL, "%s/%u.shader_test", capture_path, shProg->Name); } - FILE *file = fopen(filename, "r"); - if (!file) + file = os_file_create_unique(filename, 0644); + if (file) break; - fclose(file); ralloc_free(filename); } - - FILE *file = fopen(filename, "w"); if (file) { fprintf(file, "[require]\nGLSL%s >= %u.%02u\n", shProg->IsES ? " ES" : "", |