1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2026-05-31 06:57:09 +02:00

Update squirrel to the latest version straight from the official repository.

This commit is contained in:
Sandu Liviu Catalin
2017-05-25 22:27:33 +03:00
parent cdfc3f58bc
commit 033150b4f1
11 changed files with 38 additions and 28 deletions
+7 -3
View File
@@ -726,9 +726,13 @@ exception_restore:
if (type(t) == OT_CLOSURE
&& (!_closure(t)->_function->_bgenerator)){
SQObjectPtr clo = t;
SQInteger last_top = _top;
if(_openouters) CloseOuters(&(_stack._vals[_stackbase]));
for (SQInteger i = 0; i < arg3; i++) STK(i) = STK(arg2 + i);
_GUARD(StartCall(_closure(clo), ci->_target, arg3, _stackbase, true));
if (last_top >= _top) {
_top = last_top;
}
continue;
}
}
@@ -1093,7 +1097,6 @@ exception_trap:
return false;
}
assert(0);
return false;
}
bool SQVM::CreateClassInstance(SQClass *theclass, SQObjectPtr &inst, SQObjectPtr &constructor)
@@ -1331,6 +1334,7 @@ bool SQVM::Set(const SQObjectPtr &self,const SQObjectPtr &key,const SQObjectPtr
return false;
}
return true;
case OT_USERDATA: break; // must fall back
default:
Raise_Error(_SC("trying to set '%s'"),GetTypeName(self));
return false;
@@ -1718,10 +1722,10 @@ void SQVM::dumpstack(SQInteger stackbase,bool dumpall)
for(SQInteger i=0;i<size;i++){
SQObjectPtr &obj=_stack[i];
if(stackbase==i)scprintf(_SC(">"));else scprintf(_SC(" "));
scprintf(_SC("[%d]:"),n);
scprintf(_SC("[" _PRINT_INT_FMT "]:"),n);
switch(type(obj)){
case OT_FLOAT: scprintf(_SC("FLOAT %.3f"),_float(obj));break;
case OT_INTEGER: scprintf(_SC("INTEGER %d"),_integer(obj));break;
case OT_INTEGER: scprintf(_SC("INTEGER " _PRINT_INT_FMT),_integer(obj));break;
case OT_BOOL: scprintf(_SC("BOOL %s"),_integer(obj)?"true":"false");break;
case OT_STRING: scprintf(_SC("STRING %s"),_stringval(obj));break;
case OT_NULL: scprintf(_SC("NULL")); break;