From: ceriel Date: Tue, 26 Apr 1988 10:14:01 +0000 (+0000) Subject: better argument checking of standard functions X-Git-Tag: release-5-5~3328 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=2bbecf24162b546e623c66a674159619bcc5b520;p=ack.git better argument checking of standard functions --- diff --git a/lang/m2/comp/chk_expr.c b/lang/m2/comp/chk_expr.c index 5684ffd3a..682da96a1 100644 --- a/lang/m2/comp/chk_expr.c +++ b/lang/m2/comp/chk_expr.c @@ -1199,6 +1199,17 @@ ChkStandard(expp) W_STRICT, "%s on conformant array", expp->nd_left->nd_def->df_idf->id_text); +#endif +#ifndef STRICT_3RD_ED + if (! options['3'] && edf->df_value.df_stdname == S_TSIZE) { + if (arg->nd_right) { + node_warning(arg->nd_right, + W_OLDFASHIONED, + "TSIZE with multiple parameters, only first parameter used"); + FreeNode(arg->nd_right); + arg->nd_right = 0; + } + } #endif break; diff --git a/lang/m2/comp/cstoper.c b/lang/m2/comp/cstoper.c index 9224aef0b..1e6553954 100644 --- a/lang/m2/comp/cstoper.c +++ b/lang/m2/comp/cstoper.c @@ -522,6 +522,9 @@ cstcall(expp, call) default: crash("(cstcall)"); } + expp->nd_right = 0; /* don't deallocate, for further + argument checking + */ FreeLR(expp); }