From: Paul Eggert Date: Wed, 7 Sep 2016 06:56:26 +0000 (-0700) Subject: getprogname: port to Solaris 10 X-Git-Tag: v1.0~6656 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=53270b274701216d863e25518c0ec635a085397f;p=gnulib.git 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. --- 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]) ])