From 41412a86f2ca0baf908fe0b2e4bcc396f66989ae Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Thu, 26 May 2016 12:13:02 -0400 Subject: Optimize API function argument retrieval to eliminate a duplicate call to get_argument. --- ext.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'ext.c') diff --git a/ext.c b/ext.c index cf813674..c3e34b1c 100644 --- a/ext.c +++ b/ext.c @@ -334,28 +334,14 @@ get_argument(int i) */ NODE * -get_actual_argument(int i, bool optional, bool want_array) +get_actual_argument(NODE *t, int i, bool optional, bool want_array) { - NODE *t; char *fname; - int pcount; INSTRUCTION *pc; pc = TOP()->code_ptr; /* Op_ext_builtin instruction */ fname = (pc + 1)->func_name; - pcount = (pc + 1)->expr_count; - t = get_argument(i); - if (t == NULL) { - if (i >= pcount) /* must be fatal */ - fatal(_("function `%s' defined to take no more than %d argument(s)"), - fname, pcount); - if (! optional) - fatal(_("function `%s': missing argument #%d"), - fname, i + 1); - return NULL; - } - if (t->type == Node_var_new) { if (want_array) return force_array(t, false); -- cgit v1.2.3