|
|
@ -336,6 +336,10 @@ bool SQVM::StartCall(SQClosure *closure,SQInteger target,SQInteger args,SQIntege
|
|
|
|
SQInteger ndef = func->_ndefaultparams;
|
|
|
|
SQInteger ndef = func->_ndefaultparams;
|
|
|
|
if(ndef && nargs < paramssize) {
|
|
|
|
if(ndef && nargs < paramssize) {
|
|
|
|
SQInteger diff = paramssize - nargs;
|
|
|
|
SQInteger diff = paramssize - nargs;
|
|
|
|
|
|
|
|
if (diff > ndef) {
|
|
|
|
|
|
|
|
Raise_Error(_SC("wrong number of parameters"));
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
for(SQInteger n = ndef - diff; n < ndef; n++) {
|
|
|
|
for(SQInteger n = ndef - diff; n < ndef; n++) {
|
|
|
|
_stack._vals[stackbase + (nargs++)] = closure->_defaultparams[n];
|
|
|
|
_stack._vals[stackbase + (nargs++)] = closure->_defaultparams[n];
|
|
|
|
}
|
|
|
|
}
|
|
|
|