[Mesa-dev] [PATCH 1/2] util: better handle program names from wine
Eric Engestrom
eric.engestrom at intel.com
Thu Aug 16 10:26:51 UTC 2018
On Thursday, 2018-08-16 15:36:53 +1000, Timothy Arceri wrote:
> For some reason wine will sometimes give us a windows style path
> for an application. For example when running the 64bit version
> of Rage wine gives a Unix style path, but when running the 32bit
> version is gives a windows style path.
>
> If we detect no '/' in the path at all it should be safe to
> assume we have a wine application and instead look for a '\'.
> ---
> src/util/u_process.c | 18 +++++++++++++-----
> 1 file changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/src/util/u_process.c b/src/util/u_process.c
> index 5bf3f56db4e..e8da10ffcad 100644
> --- a/src/util/u_process.c
> +++ b/src/util/u_process.c
> @@ -40,11 +40,19 @@ extern char *program_invocation_name, *program_invocation_short_name;
> static const char *
> __getProgramName()
> {
> - char * arg = strrchr(program_invocation_name, '/');
> - if (arg)
> - return arg+1;
> - else
> - return program_invocation_name;
> + char * arg = strrchr(program_invocation_name, '/');
> + if (arg) {
> + return arg+1;
> + } else {
I would drop the `else`, this code can only be reached if we didn't
hit the `if() return` on the previous line; this avoids unnecessary
indentation :)
> + /* If there was no '/' at all we likely have a windows like path from
> + * a wine application.
> + */
> + char * arg = strrchr(program_invocation_name, '\\');
Probably best to avoid variable shadowing :)
With `char *` dropped here and the `else` flattened:
Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>
> + if (arg)
> + return arg+1;
> +
> + return program_invocation_name;
> + }
> }
> # define GET_PROGRAM_NAME() __getProgramName()
> #elif defined(__CYGWIN__)
> --
> 2.17.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list