aboutsummaryrefslogtreecommitdiffstats
path: root/interpret.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-12-14 21:25:20 +0200
committerArnold D. Robbins <arnold@skeeve.com>2016-12-14 21:25:20 +0200
commit0855ef4db6d8e0d1d57776eb273c9de321bfd6cf (patch)
tree360dc72f0eecdeed3cb15154c55f767fa0508caa /interpret.h
parent539de0a854fb94fd6ba47e91cee55f22fcd851a3 (diff)
downloadegawk-0855ef4db6d8e0d1d57776eb273c9de321bfd6cf.tar.gz
egawk-0855ef4db6d8e0d1d57776eb273c9de321bfd6cf.tar.bz2
egawk-0855ef4db6d8e0d1d57776eb273c9de321bfd6cf.zip
Fix lint stuff, arg checking. Add a data pointer. Pass finfo to functions.
Diffstat (limited to 'interpret.h')
-rw-r--r--interpret.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/interpret.h b/interpret.h
index db4bd325..79e7228e 100644
--- a/interpret.h
+++ b/interpret.h
@@ -965,14 +965,12 @@ arrayfor:
fatal(_("%s: called with %d arguments, expecting at least %d"),
pc[1].func_name, arg_count, min_req);
- if (do_lint && max_expect > 0 && arg_count > max_expect) {
- lintwarn(_("%s: called with %d arguments, expecting no more than %d; check all calls"),
+ if (do_lint && ! f->suppress_lint && arg_count > max_expect)
+ lintwarn(_("%s: called with %d arguments, expecting no more than %d"),
pc[1].func_name, arg_count, max_expect);
- f->max_expected_args = 0; // avoid multiple lint messages
- }
PUSH_CODE(pc);
- r = awk_value_to_node(pc->extfunc(arg_count, & result));
+ r = awk_value_to_node(pc->extfunc(arg_count, & result, f));
(void) POP_CODE();
while (arg_count-- > 0) {
t1 = POP();