bug-gawk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gensub() indirectly called with more than 2 parameters: produce a st


From: Andrew J. Schorr
Subject: Re: gensub() indirectly called with more than 2 parameters: produce a strange error
Date: Wed, 22 Jan 2025 09:29:19 -0500

Hi,

Is that the issue, or is it that the indirect gensub call
is requiring 2 args instead of 3 or 4?

In builtin.c:call_sub, the code says:

        if (flags == 0 || flags == GSUB) {
                /* sub or gsub */
                if (nargs != 2)
                        fatal(_("%s: can be called indirectly only with two 
arguments"), name);
...
        } else {
                /* gensub */
                if (nargs < 3 || nargs > 4)
                        fatal(_("indirect call to gensub requires three or four 
arguments"));

So why is this insisting on only 2 args?

Regards,
Andy

On Wed, Jan 22, 2025 at 01:16:21AM -0700, arnold@skeeve.com wrote:
> "Arguments" is a synonym for "parameters". I will see if it makes
> sense to try to use only one term everywhere.
> 
> Thanks,
> 
> Arnold
> 
> Denis Shirokov <cosmogen@gmail.com> wrote:
> 
> > Hi GAWK Team!
> >
> > the built-in gensub() generate strange error in case if called infirectly
> > with more than two parameters
> >
> > to reproduce this issue run attached (example.gwk) script using:
> >
> > gawk -f ./example.gwk
> >
> > example:
> >
> >       BEGIN{
> >             f = "awk::gensub"
> >             a = b = c = d = ""
> >             @f( a, b, c, d )
> >             }
> >
> > outputs:
> >
> >       gawk: ./example.gwk:7: fatal: awk::gensub: can be called indirectly
> > only with two arguments
> >
> > two arguments? =(
> >
> > Regards
> > Denis




reply via email to

[Prev in Thread] Current Thread [Next in Thread]