Debian GNU/kFreeBSD uses a FreeBSD kernel and GLIBC,
it #defines __FreeBSD_kernel__, but not __FreeBSD__ nor __linux__
Debian GNU/kFreeBSD does have a /proc/self/exe
FreeBSD #defines __FreeBSD__ and __FreeBSD_kernel__
problem reporte here:
http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-July/020998.html
http://stackoverflow.com/questions/1023306/finding-current-executables-path-without-proc-self-exe and
http://stackoverflow.com/questions/933850/how-to-find-the-location-of-the-executable-in-c have some
background info
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
}
#endif
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD_kernel__)
{
char *rp;
- /* This works on Linux only */
+ /* This works on Linux and Debian/kFreeBSD */
if ((rp = pa_readlink("/proc/self/exe"))) {
pa_strlcpy(s, pa_path_get_filename(rp), l);