From 53270b274701216d863e25518c0ec635a085397f Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 6 Sep 2016 23:56:26 -0700 Subject: [PATCH] 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. --- ChangeLog | 5 +++++ lib/getprogname.c | 12 ++++++++++-- m4/getprogname.m4 | 4 ++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index c9513a897d..77938ef938 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2016-09-06 Paul Eggert + 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 ab2628388e..522f3eb9bf 100644 --- a/lib/getprogname.c +++ b/lib/getprogname.c @@ -20,6 +20,7 @@ #include "getprogname.h" #include /* get program_invocation_name declaration */ +#include #include @@ -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 3d305502aa..52f022489d 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.39.5