]> Savannah Git Hosting - gnulib.git/commitdiff
getprogname: fix errors in previous change
authorGisle Vanem <gvanem@yahoo.no>
Wed, 7 Sep 2016 17:45:03 +0000 (10:45 -0700)
committerJim Meyering <meyering@fb.com>
Thu, 8 Sep 2016 20:08:17 +0000 (13:08 -0700)
* lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
s/program_invocation_name/base/
[HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].

ChangeLog
lib/getprogname.c

index e02ca0cea6c8ae4d35bf6e800e9a4153b4c77805..a4750b3ce4bbc1c71bcd2d435fdafcf8d2822894 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
+
+       getprogname: fix errors in previous change
+       * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
+       s/program_invocation_name/base/
+       [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
+
 2016-09-08  Pádraig Brady  <P@draigBrady.com>
 
        parse-datetime: restrict debug output to input string
index 77aaf1838a318468911aebb0537f4dd45fd46e1a..d70c2aa20d4d758d34fda1102926aed38dbdb750 100644 (file)
@@ -34,12 +34,13 @@ getprogname (void)
 # elif HAVE_DECL_PROGRAM_INVOCATION_NAME
   return last_component (program_invocation_name);
 # elif HAVE_GETEXECNAME
-  const char *base = getexecname ();
-  if (!base)
-    base = "?";
-  return last_component (program_invocation_name);
+  const char *p = getexecname ();
+  if (!p)
+    p = "?";
+  return last_component (p);
 # elif HAVE_DECL___ARGV
-  return last_component (__argv);
+  const char *p = __argv && __argv[0] ? __argv[0] : "?";
+  return last_component (p);
 # else
 #  error "getprogname module not ported to this OS"
 # endif