Base getprogname() on program_invocation_short_name presence instead of glibc

This commit is contained in:
Guillem Jover 2012-01-03 08:58:01 +01:00
parent d5d9186937
commit 752997462a
2 changed files with 10 additions and 1 deletions

View File

@ -45,6 +45,15 @@ AC_CHECK_DECL([F_CLOSEM],
#include <fcntl.h>])
# Checks for library functions.
AC_MSG_CHECKING([for program_invocation_short_name])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[#include <errno.h>]],
[[const char *p = program_invocation_short_name;]])],
[AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
[Define to 1 if you have program_invocation_short_name])
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
AC_MSG_CHECKING([for __progname])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[]],

View File

@ -42,7 +42,7 @@ static const char *__progname = NULL;
const char *
getprogname(void)
{
#ifdef __GLIBC__
#if defined(HAVE_PROGRAM_INVOCATION_SHORT_NAME)
if (__progname == NULL)
__progname = program_invocation_short_name;
#elif defined(HAVE_GETEXECNAME)