Mesa (staging/18.2): util: better handle program names from wine
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Oct 15 08:56:09 UTC 2018
Module: Mesa
Branch: staging/18.2
Commit: 38b42b85e600469f537c05c040ac88aa47e8adaa
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=38b42b85e600469f537c05c040ac88aa47e8adaa
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date: Thu Aug 16 15:29:06 2018 +1000
util: better handle program names from wine
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 '\'.
Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>
(cherry picked from commit 3f9d8e9c88eb9d95b4637d0b65008cf62527b08b)
---
src/util/u_process.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/util/u_process.c b/src/util/u_process.c
index 5bf3f56db4..5e5927678d 100644
--- a/src/util/u_process.c
+++ b/src/util/u_process.c
@@ -40,11 +40,18 @@ 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;
+
+ /* If there was no '/' at all we likely have a windows like path from
+ * a wine application.
+ */
+ arg = strrchr(program_invocation_name, '\\');
+ if (arg)
+ return arg+1;
+
+ return program_invocation_name;
}
# define GET_PROGRAM_NAME() __getProgramName()
#elif defined(__CYGWIN__)
More information about the mesa-commit
mailing list