Stage 26: Allow embedded NUL in macro definitions.
commitacb5619a320c331d846e1a4ad51cf9b72829e5c9
authorEric Blake <ebb9@byu.net>
Mon, 4 Aug 2008 04:23:11 +0000 (3 22:23 -0600)
committerEric Blake <ebb9@byu.net>
Mon, 4 Aug 2008 04:23:11 +0000 (3 22:23 -0600)
tree16cc31b278230b7611e1f7aa414a73d1d12b2aad
parentaefa7adecf8d255496f5d06ffa35491c86793d47
Stage 26: Allow embedded NUL in macro definitions.

* m4/m4module.h (m4_arg_len): Add parameter.
(M4ARGLEN): Provide default for the parameter.
* m4/m4private.h (includes): Share xmemdup0.h among all libm4
files.
* m4/macro.c (m4_arg_len): Fail if builtins are not flattened.
* m4/syntax.c (includes): Rely on m4private.h for xmemdup0.
* m4/symtab.c (includes): Likewise.
(m4_symbol_value_copy): Use xmemdup0.
* m4/module.c (install_macro_table): Likewise.
* src/freeze.c (reload_frozen_state): Likewise.
* tests/freeze.at (reloading nul): Enhance test.
* tests/null.m4: Likewise.
* tests/null.err: Update expected output.
* tests/null.out: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
12 files changed:
ChangeLog
m4/m4module.h
m4/m4private.h
m4/macro.c
m4/module.c
m4/symtab.c
m4/syntax.c
src/freeze.c
tests/freeze.at
tests/null.err
tests/null.m4
tests/null.out