diff --git a/operand-func.go b/operand-func.go index b4eaf7f..e92ec3a 100644 --- a/operand-func.go +++ b/operand-func.go @@ -25,14 +25,10 @@ func newFuncCallTerm(tk *Token, args []*term) *term { func checkFunctionCall(ctx ExprContext, name string, params []any) (err error) { if info, exists, owner := GetFuncInfo(ctx, name); exists { if info.MinArgs() > len(params) { - if info.MaxArgs() < 0 { - err = fmt.Errorf("too few params -- expected %d or more, got %d", info.MinArgs(), len(params)) - } else { - err = fmt.Errorf("too few params -- expected %d, got %d", info.MinArgs(), len(params)) - } + err = errTooFewParams(info.MinArgs(), info.MaxArgs(), len(params)) } if err == nil && info.MaxArgs() >= 0 && info.MaxArgs() < len(params) { - err = fmt.Errorf("too much params -- expected %d, got %d", info.MaxArgs(), len(params)) + err = errTooMuchParams(info.MaxArgs(), len(params)) } if err == nil && owner != ctx { ctx.RegisterFunc(name, info.Functor(), info.MinArgs(), info.MaxArgs())