diff options
Diffstat (limited to '')
-rw-r--r-- | compat/getprogname_linux.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/compat/getprogname_linux.c b/compat/getprogname_linux.c new file mode 100644 index 0000000..1850e86 --- /dev/null +++ b/compat/getprogname_linux.c @@ -0,0 +1,23 @@ +#include <stdlib.h> + +#include <errno.h> + +const char * +getprogname(void) +{ +#if defined(__ANDROID_API__) && __ANDROID_API__ < 21 + /* + * Android added getprogname with API 21, so we should not end up here + * with APIs newer than 21. + * https://github.com/aosp-mirror/platform_bionic/blob/1eb6d3/libc/include/stdlib.h#L160 + * + * Since Android is using portions of OpenBSD libc, it should have + * a symbol called __progname. + * https://github.com/aosp-mirror/platform_bionic/commit/692207 + */ + extern const char *__progname; + return __progname; +#else + return program_invocation_short_name; +#endif +} |