[Mesa-dev] [PATCH shader-db 2/3] run: introduce get_glsl_version() helper

Eric Engestrom eric.engestrom at imgtec.com
Mon Aug 21 13:33:18 UTC 2017


On Monday, 2017-08-21 11:27:20 +0100, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
> 
> Flesh the duplicated functionality to a helper.
> Use const char * + sscanf to keep the compiler happy.

Can you explain why you replaced strtol() with sscanf() in the commit
message?

Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

> 
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> A bit more could be fleshed out into helper(s). This is enough to keep
> the compiler happy w/o being too invasive.
> ---
>  run.c | 20 ++++++++++++--------
>  1 file changed, 12 insertions(+), 8 deletions(-)
> 
> diff --git a/run.c b/run.c
> index afc5ba0..d0d4598 100644
> --- a/run.c
> +++ b/run.c
> @@ -328,6 +328,16 @@ static void addenv(const char *name, const char *value)
>      }
>  }
>  
> +static int
> +get_glsl_version(void)
> +{
> +    const char *ver = glGetString(GL_SHADING_LANGUAGE_VERSION);
> +    unsigned major = 0, minor = 0;
> +
> +    sscanf(ver, "%u.%u", &major, &minor);
> +    return major * 100 + minor;
> +}
> +
>  int
>  main(int argc, char **argv)
>  {
> @@ -518,10 +528,7 @@ main(int argc, char **argv)
>          core.extension_string_len = extension_string - 1 -
>                                      core.extension_string;
>  
> -        char *ver = glGetString(GL_SHADING_LANGUAGE_VERSION);
> -        long major = strtol(ver, &ver, 10);
> -        long minor = strtol(ver + 1, NULL, 10);
> -        core.max_glsl_version = major * 100 + minor;
> +        core.max_glsl_version = get_glsl_version();
>  
>          if (memmem(core.extension_string, core.extension_string_len,
>                     "GL_KHR_debug", strlen("GL_KHR_debug")) == NULL) {
> @@ -547,10 +554,7 @@ main(int argc, char **argv)
>          compat.extension_string = (char *)glGetString(GL_EXTENSIONS);
>          compat.extension_string_len = strlen(compat.extension_string);
>  
> -        char *ver = glGetString(GL_SHADING_LANGUAGE_VERSION);
> -        long major = strtol(ver, &ver, 10);
> -        long minor = strtol(ver + 1, NULL, 10);
> -        compat.max_glsl_version = major * 100 + minor;
> +        compat.max_glsl_version = get_glsl_version();
>  
>          if (memmem(compat.extension_string, compat.extension_string_len,
>                     "GL_KHR_debug", strlen("GL_KHR_debug")) == NULL) {
> -- 
> 2.13.3
> 


More information about the mesa-dev mailing list