CVSROOT: /sources/m4 Module name: m4 Changes by: Eric Blake <ericb> 06/10/27 17:03:51
Index: src/freeze.c =================================================================== RCS file: /sources/m4/m4/src/freeze.c,v retrieving revision 1.53 retrieving revision 1.54 diff -u -b -r1.53 -r1.54 --- src/freeze.c 27 Oct 2006 04:03:28 -0000 1.53 +++ src/freeze.c 27 Oct 2006 17:03:51 -0000 1.54 @@ -531,26 +531,18 @@ /* Enter a macro having a builtin function as a definition. */ { - const m4_builtin *bp; lt_dlhandle handle = 0; - m4_symbol_value *token = xzalloc (sizeof *token); + m4_symbol_value *token; if (number[2] > 0) handle = m4__module_find (string[2]); + token = m4_builtin_find_by_name (handle, string[1]); - bp = m4_builtin_find_by_name (handle, string[1]); - VALUE_HANDLE (token) = handle; - - if (bp) - { - m4_set_symbol_value_func (token, bp->func); - VALUE_FLAGS (token) = bp->flags; - VALUE_MIN_ARGS (token) = bp->min_args; - VALUE_MAX_ARGS (token) = bp->max_args; - } - else + if (token == NULL) { + token = xzalloc (sizeof *token); m4_set_symbol_value_placeholder (token, xstrdup (string[1])); + VALUE_HANDLE (token) = handle; VALUE_MIN_ARGS (token) = 0; VALUE_MAX_ARGS (token) = -1; }