--- src/compiler/glsl/standalone.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/compiler/glsl/standalone.cpp b/src/compiler/glsl/standalone.cpp index 52554bb92a..b9cee23642 100644 --- a/src/compiler/glsl/standalone.cpp +++ b/src/compiler/glsl/standalone.cpp @@ -459,19 +459,22 @@ standalone_compile_shader(const struct standalone_options *_options, if (len < 6) goto fail; - const char *const ext = & files[i][len - 5]; + const char *ext = & files[i][len - 5]; /* TODO add support to read a .shader_test */ - if (strncmp(".vert", ext, 5) == 0 || strncmp(".glsl", ext, 5) == 0) + if (*ext != '.') + goto fail; + ++ext; + if (memcmp("vert", ext, 4) == 0 || memcmp("glsl", ext, 4) == 0) shader->Type = GL_VERTEX_SHADER; - else if (strncmp(".tesc", ext, 5) == 0) + else if (memcmp("tesc", ext, 4) == 0) shader->Type = GL_TESS_CONTROL_SHADER; - else if (strncmp(".tese", ext, 5) == 0) + else if (memcmp("tese", ext, 4) == 0) shader->Type = GL_TESS_EVALUATION_SHADER; - else if (strncmp(".geom", ext, 5) == 0) + else if (memcmp("geom", ext, 4) == 0) shader->Type = GL_GEOMETRY_SHADER; - else if (strncmp(".frag", ext, 5) == 0) + else if (memcmp("frag", ext, 4) == 0) shader->Type = GL_FRAGMENT_SHADER; - else if (strncmp(".comp", ext, 5) == 0) + else if (memcmp("comp", ext, 4) == 0) shader->Type = GL_COMPUTE_SHADER; else goto fail; -- 2.11.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev