aboutsummaryrefslogtreecommitdiffstats
path: root/interpret.h
diff options
context:
space:
mode:
Diffstat (limited to 'interpret.h')
-rw-r--r--interpret.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/interpret.h b/interpret.h
index 3ff5e929..abffbda4 100644
--- a/interpret.h
+++ b/interpret.h
@@ -785,9 +785,10 @@ arrayfor:
case Op_ext_builtin:
{
int arg_count = pc->expr_count;
+ awk_value_t result;
PUSH_CODE(pc);
- r = pc->builtin(arg_count);
+ r = awk_value_to_node(pc->extfunc(arg_count, & result));
(void) POP_CODE();
while (arg_count-- > 0) {
t1 = POP();
@@ -919,7 +920,7 @@ match_re:
bc = f->code_ptr;
assert(bc->opcode == Op_symbol);
pc->opcode = Op_ext_builtin; /* self modifying code */
- pc->builtin = bc->builtin;
+ pc->extfunc = bc->extfunc;
pc->expr_count = arg_count; /* actual argument count */
(pc + 1)->func_name = fname; /* name of the builtin */
(pc + 1)->expr_count = bc->expr_count; /* defined max # of arguments */