Module: Mesa Branch: master Commit: de93f546a7f9f3407f88ea8dd2d4b3f7158e94ed URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=de93f546a7f9f3407f88ea8dd2d4b3f7158e94ed
Author: Timothy Arceri <tarc...@itsqueeze.com> Date: Thu Jun 14 11:00:21 2018 +1000 util: manually extract the program name from program_invocation_name Glibc has the same code to get program_invocation_short_name. However for some reason the short name gets mangled for some wine apps. For example with Google Earth VR I get: program_invocation_name: "/home/tarceri/.local/share/Steam/steamapps/common/EarthVR/Earth.exe" program_invocation_short_name: "e" Acked-by: Eric Engestrom <eric.engest...@intel.com> --- src/util/xmlconfig.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/util/xmlconfig.c b/src/util/xmlconfig.c index 60a6331c86..ad943e2ce4 100644 --- a/src/util/xmlconfig.c +++ b/src/util/xmlconfig.c @@ -45,7 +45,16 @@ /* These aren't declared in any libc5 header */ extern char *program_invocation_name, *program_invocation_short_name; # endif -# define GET_PROGRAM_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; +} +# define GET_PROGRAM_NAME() __getProgramName() #elif defined(__CYGWIN__) # define GET_PROGRAM_NAME() program_invocation_short_name #elif defined(__FreeBSD__) && (__FreeBSD__ >= 2) _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit