diff options
author | Jim Meyering <meyering@fb.com> | 2016-09-28 11:09:03 -0700 |
---|---|---|
committer | Jim Meyering <meyering@fb.com> | 2016-09-28 11:52:37 -0700 |
commit | 9a8bf3b56cdd6b40b7da44b94b0023d95867784e (patch) | |
tree | d3fcd9ccbf39d8b7b8276752ddfa01b691d4d239 /lib/getprogname.c | |
parent | 85854baba34817be27d9ad3b6c013fde9fb08236 (diff) | |
download | gnulib-9a8bf3b56cdd6b40b7da44b94b0023d95867784e.tar.gz |
getprogname: port to OpenBSD 5.1
* lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
(getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
* modules/getprogname (configure.ac): Move most of this code...
* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
increment serial number, and add a test for __progname.
https://bugs.gnu.org/24562
Reported by Nelson H. F. Beebe.
Diffstat (limited to 'lib/getprogname.c')
-rw-r--r-- | lib/getprogname.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/getprogname.c b/lib/getprogname.c index 17e6059e1c..1e2ba20a53 100644 --- a/lib/getprogname.c +++ b/lib/getprogname.c @@ -32,6 +32,10 @@ #ifndef HAVE_GETPROGNAME +# ifdef HAVE_DECL___PROGNAME +char *__progname; +# endif + char const * getprogname (void) { @@ -47,6 +51,11 @@ getprogname (void) # elif HAVE_DECL___ARGV const char *p = __argv && __argv[0] ? __argv[0] : "?"; return last_component (p); +# elif HAVE_DECL___PROGNAME + /* This variable exists at least on OpenBSD 5.1 and glibc-2.23, + and appears always to be the basename component of argv[0]. */ + const char *p = __progname; + return p && p[0] ? p : "?"; # elif _AIX /* Idea by Bastien ROUCARIÈS <address@hidden>, http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00095.html |