Small fix for parameter count
git-svn-id: http://picoc.googlecode.com/svn/trunk@90 21eae674-98b7-11dd-bd71-f92a316d2d60
This commit is contained in:
parent
2ba0598f1c
commit
b428c0f544
6
parse.c
6
parse.c
|
@ -44,13 +44,13 @@ void ParseFunctionCall(struct ParseState *Parser, struct Value **Result, int Res
|
||||||
do {
|
do {
|
||||||
if (ParseExpression(Parser, &Parameter[ParameterUsed], FALSE))
|
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)
|
if (Parser->Mode == RunModeRun && FuncValue->Val->FuncDef.ParamType[ParameterUsed] != Parameter[ParameterUsed]->Typ)
|
||||||
ProgramFail(Parser, "parameter %d to %s is the wrong type", ParameterUsed, FuncName);
|
ProgramFail(Parser, "parameter %d to %s is the wrong type", ParameterUsed, FuncName);
|
||||||
|
|
||||||
ParameterUsed++;
|
ParameterUsed++;
|
||||||
if (Parser->Mode == RunModeRun && ParameterUsed > FuncValue->Val->FuncDef.NumParams)
|
|
||||||
ProgramFail(Parser, "too many arguments");
|
|
||||||
|
|
||||||
Token = LexGetToken(Parser, NULL, TRUE);
|
Token = LexGetToken(Parser, NULL, TRUE);
|
||||||
if (Token != TokenComma && Token != TokenCloseBracket)
|
if (Token != TokenComma && Token != TokenCloseBracket)
|
||||||
ProgramFail(Parser, "comma expected");
|
ProgramFail(Parser, "comma expected");
|
||||||
|
|
Loading…
Reference in a new issue