From b0778bdd0c2c7d5136f46ffe5c00b4c9153d5169 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Thu, 20 Aug 2009 16:54:07 -0600 Subject: [PATCH] Make previous patch more robust. * src/output.c (ARRAY_CARDINALITY): New macro, copied from argmatch.h. (output_skeleton): Use it. Suggested by Akim Demaille. Signed-off-by: Eric Blake (cherry picked from commit 1266b636740f0c6719d8cc11a5d569084fa37009) --- ChangeLog | 34 ++++++++++++++++++++-------------- src/output.c | 3 +++ 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4ba3b4e4..33d806f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2009-08-20 Eric Blake + Make previous patch more robust. + * src/output.c (ARRAY_CARDINALITY): New macro, copied from + argmatch.h. + (output_skeleton): Use it. + Suggested by Akim Demaille. + Import latest m4/m4.m4. * submodules/autoconf: Update to autoconf 2.64. * configure.ac (M4_GNU_OPTION): New define. @@ -121,12 +127,12 @@ that perfectly supported Bison mo files. Lower the requirement. http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html - * configure.ac: Require need-ngettext instead of - need-formatstring-macros. - Reported by Martin Jabocs. - Suggested by Bruno Haible. - * INSTALL: Restructure. - (Internationalization): New. + * configure.ac: Require need-ngettext instead of + need-formatstring-macros. + Reported by Martin Jabocs. + Suggested by Bruno Haible. + * INSTALL: Restructure. + (Internationalization): New. 2009-08-14 Joel E. Denny @@ -223,7 +229,7 @@ distcheck: fix. - * examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp. + * examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp. 2009-08-10 Joel E. Denny @@ -553,13 +559,13 @@ 2009-06-10 Akim Demaille gnulib: update. - * gnulib: Update to latest. - * lib/.cvsignore, lib/.gitignore, m4/.cvsignore, - * m4/.gitignore: Regen. - * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr): - Call xalloc_die on hash_insert failures. - Requested by the new __warn_unused_result__ attribute of - hash_insert. + * gnulib: Update to latest. + * lib/.cvsignore, lib/.gitignore, m4/.cvsignore, + * m4/.gitignore: Regen. + * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr): + Call xalloc_die on hash_insert failures. + Requested by the new __warn_unused_result__ attribute of + hash_insert. 2009-06-10 Akim Demaille diff --git a/src/output.c b/src/output.c index f739f0e9..23cd8ffa 100644 --- a/src/output.c +++ b/src/output.c @@ -21,6 +21,7 @@ #include #include "system.h" +#include #include #include #include @@ -40,6 +41,7 @@ #include "symtab.h" #include "tables.h" +# define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) static struct obstack format_obstack; @@ -635,6 +637,7 @@ output_skeleton (void) argv[i++] = full_m4bison; argv[i++] = full_skeleton; argv[i++] = NULL; + assert (i <= ARRAY_CARDINALITY (argv)); } init_subpipe (); -- 2.45.2