162 |
} |
} |
163 |
else if (m4_is_symbol_func (symbol)) |
else if (m4_is_symbol_func (symbol)) |
164 |
{ |
{ |
165 |
const m4_builtin *bp = m4_builtin_find_by_func |
const m4_builtin *bp = m4_builtin_find_by_func (SYMBOL_HANDLE (symbol), |
166 |
(m4_get_module_builtin_table (SYMBOL_HANDLE (symbol)), |
m4_get_symbol_func (symbol)); |
|
m4_get_symbol_func (symbol)); |
|
167 |
|
|
168 |
if (bp == NULL) |
if (bp == NULL) |
169 |
return "INTERNAL ERROR: Builtin not found in builtin table!"; |
return "INTERNAL ERROR: Builtin not found in builtin table!"; |
455 |
|
|
456 |
/* Enter a macro having a builtin function as a definition. */ |
/* Enter a macro having a builtin function as a definition. */ |
457 |
{ |
{ |
458 |
lt_dlhandle handle = 0; |
lt_dlhandle handle = 0; |
|
m4_builtin *bt = NULL; |
|
459 |
|
|
460 |
if (number[2] > 0) |
if (number[2] > 0) |
461 |
{ |
handle = lt_dlhandle_find (string[2]); |
|
while ((handle = lt_dlhandle_next (handle))) |
|
|
if (strcmp (m4_get_module_name (handle), string[2]) == 0) |
|
|
break; |
|
|
|
|
|
if (handle) |
|
|
{ |
|
|
bt = m4_get_module_builtin_table (handle); |
|
|
} |
|
|
} |
|
462 |
|
|
463 |
if (bt) |
if (handle) |
464 |
bp = m4_builtin_find_by_name (bt, string[1]); |
bp = m4_builtin_find_by_name (handle, string[1]); |
465 |
|
|
466 |
if (bp) |
if (bp) |
467 |
{ |
{ |
655 |
lt_dlhandle handle = 0; |
lt_dlhandle handle = 0; |
656 |
|
|
657 |
if (number[2] > 0) |
if (number[2] > 0) |
658 |
while ((handle = lt_dlhandle_next (handle))) |
handle = lt_dlhandle_find (string[2]); |
|
if (strcmp (m4_get_module_name (handle), string[2]) == 0) |
|
|
break; |
|
659 |
|
|
660 |
m4_set_symbol_value_text (token, xstrdup (string[1])); |
m4_set_symbol_value_text (token, xstrdup (string[1])); |
661 |
VALUE_HANDLE (token) = handle; |
VALUE_HANDLE (token) = handle; |