From 3324e9ccfc3b8369ba857884c398b251e3d2da41 Mon Sep 17 00:00:00 2001 From: Bruno Haible <bruno@clisp.org> Date: Sat, 26 Jan 2019 00:03:51 +0100 Subject: [PATCH] getprogname: Port to Android 4.3. * lib/getprogname.c (getprogname): On Android, take only the last component of __progname. --- ChangeLog | 6 ++++++ lib/getprogname.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5332fd738a..812b423895 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2019-01-25 Bruno Haible <bruno@clisp.org> + + getprogname: Port to Android 4.3. + * lib/getprogname.c (getprogname): On Android, take only the last + component of __progname. + 2019-01-25 Bruno Haible <bruno@clisp.org> wcrtomb: Work around bug on Android 4.3. diff --git a/lib/getprogname.c b/lib/getprogname.c index 09e65f8bc0..1f264a17c1 100644 --- a/lib/getprogname.c +++ b/lib/getprogname.c @@ -73,7 +73,7 @@ getprogname (void) /* https://msdn.microsoft.com/en-us/library/dn727674.aspx */ const char *p = __argv && __argv[0] ? __argv[0] : "?"; return last_component (p); -# elif HAVE_VAR___PROGNAME /* OpenBSD, QNX */ +# elif HAVE_VAR___PROGNAME /* OpenBSD, Android, QNX */ /* https://man.openbsd.org/style.9 */ /* http://www.qnx.de/developers/docs/6.5.0/index.jsp?topic=%2Fcom.qnx.doc.neutrino_lib_ref%2Fp%2F__progname.html */ /* Be careful to declare this only when we absolutely need it @@ -82,7 +82,11 @@ getprogname (void) malfunction (have zero length) with Fedora 25's glibc. */ extern char *__progname; const char *p = __progname; +# if defined __ANDROID__ + return last_component (p); +# else return p && p[0] ? p : "?"; +# endif # elif _AIX /* AIX */ /* Idea by Bastien ROUCARIÃS, https://lists.gnu.org/r/bug-gnulib/2010-12/msg00095.html -- 2.39.5