bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] getprogname: port to Solaris 10


From: Paul Eggert
Subject: [PATCH] getprogname: port to Solaris 10
Date: Tue, 6 Sep 2016 23:57:05 -0700

* lib/getprogname.c: Include stdlib.h, for getexecname decl.
(getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
---
 ChangeLog         |  5 +++++
 lib/getprogname.c | 12 ++++++++++--
 m4/getprogname.m4 |  4 ++--
 3 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c9513a8..77938ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2016-09-06  Paul Eggert  <address@hidden>
 
+       getprogname: port to Solaris 10
+       * lib/getprogname.c: Include stdlib.h, for getexecname decl.
+       (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
+       * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
+
        stdalign: correct mistake in alignof doc
        Problem reported by Joseph Myers in:
        https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
diff --git a/lib/getprogname.c b/lib/getprogname.c
index ab26283..522f3eb 100644
--- a/lib/getprogname.c
+++ b/lib/getprogname.c
@@ -20,6 +20,7 @@
 #include "getprogname.h"
 
 #include <errno.h> /* get program_invocation_name declaration */
+#include <stdlib.h>
 #include <string.h>
 
 
@@ -29,9 +30,16 @@ getprogname (void)
 {
 #if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
   return program_invocation_short_name;
-#elif HAVE_DECL_PROGRAM_INVOCATION_NAME
-  const char *base = program_invocation_name;
+#elif HAVE_DECL_PROGRAM_INVOCATION_NAME || HAVE_GETEXECNAME
+
   const char *slash;
+# if HAVE_DECL_PROGRAM_INVOCATION_NAME
+  const char *base = program_invocation_name;
+# else
+  const char *base = getexecname ();
+  if (!base)
+    base = "?";
+# endif
 
   slash = strrchr (base, '/');
   if (slash != NULL)
diff --git a/m4/getprogname.m4 b/m4/getprogname.m4
index 3d30550..52f0224 100644
--- a/m4/getprogname.m4
+++ b/m4/getprogname.m4
@@ -5,9 +5,9 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 AC_DEFUN([gl_FUNC_GETPROGNAME],
 [
-  AC_CHECK_FUNCS_ONCE([getprogname])
+  AC_CHECK_FUNCS_ONCE([getprogname getexecname])
 ])
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]