summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--lib/argp-parse.c4
-rw-r--r--m4/argp.m422
3 files changed, 18 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 7377a26550..f3633d1b73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2012-07-13 Eric Blake <eblake@redhat.com>
+ argp: make HAVE_DECL usage consistent
+ * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
+ macros, not whether they are defined.
+ * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
+ convention with other declaration checks.
+ Reported by Karel Zak, with suggestions from Paul Eggert.
+
stat-time: relax license to LGPLv2+
* modules/stat-time (License): Relax, with consent of all authors.
diff --git a/lib/argp-parse.c b/lib/argp-parse.c
index 3b411d407b..6bbb14578b 100644
--- a/lib/argp-parse.c
+++ b/lib/argp-parse.c
@@ -880,11 +880,11 @@ __argp_parse (const struct argp *argp, int argc, char **argv, unsigned flags,
#ifndef _LIBC
if (!(flags & ARGP_PARSE_ARGV0))
{
-#ifdef HAVE_DECL_PROGRAM_INVOCATION_NAME
+#if HAVE_DECL_PROGRAM_INVOCATION_NAME
if (!program_invocation_name)
program_invocation_name = argv[0];
#endif
-#ifdef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
+#if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
if (!program_invocation_short_name)
program_invocation_short_name = __argp_base_name (argv[0]);
#endif
diff --git a/m4/argp.m4 b/m4/argp.m4
index 87c7da68a9..0d1de3abdf 100644
--- a/m4/argp.m4
+++ b/m4/argp.m4
@@ -1,4 +1,4 @@
-# argp.m4 serial 13
+# argp.m4 serial 14
dnl Copyright (C) 2003-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -10,18 +10,14 @@ AC_DEFUN([gl_ARGP],
AC_REQUIRE([AC_C_RESTRICT])
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
- AC_CHECK_DECL([program_invocation_name],
- [AC_DEFINE([HAVE_DECL_PROGRAM_INVOCATION_NAME], [1],
- [Define if program_invocation_name is declared])],
- [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_NAME], [1],
- [Define to 1 to add extern declaration of program_invocation_name to argp.h])],
- [[#include <errno.h>]])
- AC_CHECK_DECL([program_invocation_short_name],
- [AC_DEFINE([HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME], [1],
- [Define if program_invocation_short_name is declared])],
- [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_SHORT_NAME], [1],
- [Define to 1 to add extern declaration of program_invocation_short_name to argp.h])],
- [[#include <errno.h>]])
+ AC_CHECK_DECLS([program_invocation_name], [],
+ [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_NAME], [1],
+ [Define to 1 to add extern declaration of program_invocation_name to argp.h])],
+ [[#include <errno.h>]])
+ AC_CHECK_DECLS([program_invocation_short_name], [],
+ [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_SHORT_NAME], [1],
+ [Define to 1 to add extern declaration of program_invocation_short_name to argp.h])],
+ [[#include <errno.h>]])
# Check if program_invocation_name and program_invocation_short_name
# are defined elsewhere. It is improbable that only one of them will