]> Savannah Git Hosting - gnulib.git/commitdiff
getprogname: Port to Android 4.3.
authorBruno Haible <bruno@clisp.org>
Fri, 25 Jan 2019 23:03:51 +0000 (00:03 +0100)
committerBruno Haible <bruno@clisp.org>
Fri, 25 Jan 2019 23:03:51 +0000 (00:03 +0100)
* lib/getprogname.c (getprogname): On Android, take only the last
component of __progname.

ChangeLog
lib/getprogname.c

index 5332fd738a93bb3fd4f385b7667b7a489961ac4a..812b423895b4322db0a722dd3c134e19752c1dcd 100644 (file)
--- 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.
index 09e65f8bc0bca41276685cf4730f25bea3b32806..1f264a17c1879e261df83acaa269951d9460d697 100644 (file)
@@ -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