diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-04-03 03:57:42 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska@appnovation.com> | 2025-04-03 03:57:42 +0000 |
| commit | c8c1cab2b6a2754acbe7ee130c356383d0289f09 (patch) | |
| tree | 61dc5355355fb3ed9ea323b1ea0bd99e9f76be86 /src/libstddjb | |
| parent | 3dc14ccbf94d72cd2e9f5a549f97891eb4688021 (diff) | |
| download | skalibs-c8c1cab2b6a2754acbe7ee130c356383d0289f09.tar.gz | |
Deprioritize getexecname(), it's bad
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libstddjb')
| -rw-r--r-- | src/libstddjb/sagetexecname.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/libstddjb/sagetexecname.c b/src/libstddjb/sagetexecname.c index 5ca4ba3..658df1a 100644 --- a/src/libstddjb/sagetexecname.c +++ b/src/libstddjb/sagetexecname.c @@ -2,7 +2,7 @@ #include <skalibs/sysdeps.h> -#if defined(SKALIBS_PROCSELFEXE) +#if defined(SKALIBS_PROCSELFEXE) /* Linux, midipix, Solaris */ #include <skalibs/stralloc.h> #include <skalibs/djbunix.h> @@ -12,20 +12,7 @@ int sagetexecname (stralloc *sa) return sareadlink(sa, SKALIBS_PROCSELFEXE) ; } -#elif defined(SKALIBS_HASGETEXECNAME) - -#include <skalibs/nonposix.h> -#include <stdlib.h> - -#include <skalibs/stralloc.h> -#include <skalibs/djbunix.h> - -int sagetexecname (stralloc *sa) -{ - return sarealpath(sa, getexecname()) ; -} - -#elif defined(SKALIBS_HASKERNPROCPATHNAME) +#elif defined(SKALIBS_HASKERNPROCPATHNAME) /* FreeBSD, NetBSD */ #include <skalibs/nonposix.h> #ifdef __NetBSD__ @@ -47,7 +34,7 @@ int sagetexecname (stralloc *sa) return 0 ; } -#elif defined(SKALIBS_HAS_NSGETEXECUTABLEPATH) +#elif defined(SKALIBS_HAS_NSGETEXECUTABLEPATH) /* MacOS */ #include <skalibs/nonposix.h> #include <sys/types.h> @@ -65,7 +52,7 @@ int sagetexecname (stralloc *sa) return sarealpath(sa, buf) ; } -#elif defined(SKALIBS_HASGETAUXVAL) +#elif defined(SKALIBS_HASGETAUXVAL) /* Hurd */ #include <skalibs/nonposix.h> #include <sys/auxv.h> @@ -79,7 +66,7 @@ int sagetexecname (stralloc *sa) return sarealpath(sa, (char const *)x) ; } -#elif defined(SKALIBS_HASDLADDR) +#elif defined(SKALIBS_HASDLADDR) /* hack that only works with dynamic binaries */ #include <skalibs/nonposix.h> #include <dlfcn.h> @@ -96,6 +83,19 @@ int sagetexecname (stralloc *sa) return 0 ; } +#elif defined(SKALIBS_HASGETEXECNAME) /* bad: it will probably give argv[0] */ + +#include <skalibs/nonposix.h> +#include <stdlib.h> + +#include <skalibs/stralloc.h> +#include <skalibs/djbunix.h> + +int sagetexecname (stralloc *sa) +{ + return sarealpath(sa, getexecname()) ; +} + #else /* we tried */ #include <errno.h> |
