From b428c0f544dc20dbe20663c2b89109c6aa902a68 Mon Sep 17 00:00:00 2001 From: "zik.saleeba" Date: Thu, 19 Feb 2009 11:07:56 +0000 Subject: [PATCH] Small fix for parameter count git-svn-id: http://picoc.googlecode.com/svn/trunk@90 21eae674-98b7-11dd-bd71-f92a316d2d60 --- parse.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/parse.c b/parse.c index 4cf6b85..343eb27 100644 --- a/parse.c +++ b/parse.c @@ -44,13 +44,13 @@ void ParseFunctionCall(struct ParseState *Parser, struct Value **Result, int Res do { if (ParseExpression(Parser, &Parameter[ParameterUsed], FALSE)) { + if (Parser->Mode == RunModeRun && ParameterUsed >= FuncValue->Val->FuncDef.NumParams) + ProgramFail(Parser, "too many arguments"); + if (Parser->Mode == RunModeRun && FuncValue->Val->FuncDef.ParamType[ParameterUsed] != Parameter[ParameterUsed]->Typ) ProgramFail(Parser, "parameter %d to %s is the wrong type", ParameterUsed, FuncName); ParameterUsed++; - if (Parser->Mode == RunModeRun && ParameterUsed > FuncValue->Val->FuncDef.NumParams) - ProgramFail(Parser, "too many arguments"); - Token = LexGetToken(Parser, NULL, TRUE); if (Token != TokenComma && Token != TokenCloseBracket) ProgramFail(Parser, "comma expected");