diff options
Diffstat (limited to 'audio/pulseaudio/files/patch-src_pulse_util.c')
-rw-r--r-- | audio/pulseaudio/files/patch-src_pulse_util.c | 34 |
1 files changed, 1 insertions, 33 deletions
diff --git a/audio/pulseaudio/files/patch-src_pulse_util.c b/audio/pulseaudio/files/patch-src_pulse_util.c index 0fdf0f91c5ba..f41fa9911fb5 100644 --- a/audio/pulseaudio/files/patch-src_pulse_util.c +++ b/audio/pulseaudio/files/patch-src_pulse_util.c @@ -1,4 +1,4 @@ ---- src/pulse/util.c.orig 2015-12-29 00:56:00 UTC +--- src/pulse/util.c.orig 2022-06-21 10:54:48 UTC +++ src/pulse/util.c @@ -30,6 +30,10 @@ #include <time.h> @@ -11,35 +11,3 @@ #ifdef HAVE_PWD_H #include <pwd.h> -@@ -200,7 +204,7 @@ char *pa_get_binary_name(char *s, size_t - } - #endif - --#if defined(__linux__) || defined(__FreeBSD_kernel__) -+#if defined(__linux__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) - { - char *rp; - /* This works on Linux and Debian/kFreeBSD */ -@@ -215,13 +219,17 @@ char *pa_get_binary_name(char *s, size_t - - #ifdef __FreeBSD__ - { -- char *rp; -+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid()}; -+ struct kinfo_proc kp; -+ size_t sz = sizeof(kp); - -- if ((rp = pa_readlink("/proc/curproc/file"))) { -- pa_strlcpy(s, pa_path_get_filename(rp), l); -- pa_xfree(rp); -- return s; -+ if (sysctl(mib, 4, &kp, &sz, NULL, 0) == 0) -+ { -+ pa_strlcpy(s, kp.ki_comm, l); -+ return kp.ki_comm; - } -+ else -+ return NULL; - } - #endif - |