From e15166d940dcbba384bf6cb0f3b1a8e6f9f53b54 Mon Sep 17 00:00:00 2001 From: belliash Date: Wed, 8 Aug 2018 06:52:15 +0200 Subject: [PATCH] Temporary fix for master branch --- engine/vm.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/engine/vm.c b/engine/vm.c index 70a5f6a..486892f 100644 --- a/engine/vm.c +++ b/engine/vm.c @@ -598,7 +598,7 @@ static ph7_vm_func *VmOverload( ph7_value *aArg, /* Array of passed arguments */ int nArg /* Total number of passed arguments */ ) { - int iTarget, i, j, iCur, iMax; + int iTarget, i, j, iArgs, iCur, iMax; ph7_vm_func *apSet[10]; /* Maximum number of candidates */ ph7_vm_func *pLink; SyString sArgSig; @@ -610,8 +610,13 @@ static ph7_vm_func *VmOverload( if(pLink == 0) { break; } - if((int)SySetUsed(&pLink->aArgs) == nArg) { - /* Candidate for overloading */ + iArgs = (int) SySetUsed(&pLink->aArgs); + if(nArg == iArgs) { + /* Exact amount of parameters, a candidate for overloading */ + apSet[i++] = pLink; + } else if(nArg < iArgs) { + /* Fewer parameters passed, check if all are required */ + /* Temporarily a candidate for overloading to fix master branch */ apSet[i++] = pLink; } /* Point to the next entry */