summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYonggang Luo <luoyonggang@gmail.com>2022-11-10 18:31:42 +0800
committerMarge Bot <emma+marge@anholt.net>2022-11-15 19:55:01 +0000
commit3f4586575e131850a66cfbbdeae2d72413fece46 (patch)
tree1f5c2e44b62938b9fdd5f632a7eace55654986a0
parented4fd1d90e3f3dca0ed0ac7a4a3366854c565f4b (diff)
util: Merge the __getProgramName code under HAIKU os
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Acked-by: Jesse Natalie <jenatali@microsoft.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19645>
-rw-r--r--src/gallium/auxiliary/os/os_process.c5
-rw-r--r--src/util/u_process.c18
2 files changed, 6 insertions, 17 deletions
diff --git a/src/gallium/auxiliary/os/os_process.c b/src/gallium/auxiliary/os/os_process.c
index b00ff2b0d23..56a2f5fecd1 100644
--- a/src/gallium/auxiliary/os/os_process.c
+++ b/src/gallium/auxiliary/os/os_process.c
@@ -78,11 +78,6 @@ os_get_process_name(char *procname, size_t size)
}
name = lpProcessName;
-
-#elif defined(PIPE_OS_HAIKU)
- image_info info;
- get_image_info(B_CURRENT_TEAM, &info);
- name = info.name;
#else
name = util_get_process_name();
#endif
diff --git a/src/util/u_process.c b/src/util/u_process.c
index 2d3f77242ea..8ad078e2649 100644
--- a/src/util/u_process.c
+++ b/src/util/u_process.c
@@ -150,21 +150,15 @@ __getProgramName()
progname = buf;
return strdup(progname);
}
-#elif defined(__HAIKU__)
-# include <libgen.h>
-extern char **__libc_argv;
-extern int __libc_argc;
-
+#elif DETECT_OS_HAIKU
+# include <kernel/OS.h>
+# include <kernel/image.h>
static char *
__getProgramName()
{
- char *progname = NULL;
- char *n = strdup(__libc_argv[0]);
- if (n != NULL) {
- progname = strdup(basename(n));
- free(n);
- }
- return progname;
+ image_info info;
+ get_image_info(B_CURRENT_TEAM, &info);
+ return strdup(info.name);
}
#else
#define GET_PROGRAM_NAME_NOT_AVAILABLE