Update to Squirrel 3.0.7 stable
[supertux.git] / external / squirrel / squirrel / sqbaselib.cpp
index 4a7d39d..e5520bb 100644 (file)
@@ -185,19 +185,27 @@ static SQInteger get_slice_params(HSQUIRRELVM v,SQInteger &sidx,SQInteger &eidx,
 static SQInteger base_print(HSQUIRRELVM v)\r
 {\r
        const SQChar *str;\r
-       sq_tostring(v,2);\r
-       sq_getstring(v,-1,&str);\r
-       if(_ss(v)->_printfunc) _ss(v)->_printfunc(v,_SC("%s"),str);\r
-       return 0;\r
+       if(SQ_SUCCEEDED(sq_tostring(v,2)))\r
+       {\r
+               if(SQ_SUCCEEDED(sq_getstring(v,-1,&str))) {\r
+                       if(_ss(v)->_printfunc) _ss(v)->_printfunc(v,_SC("%s"),str);\r
+                       return 0;\r
+               }\r
+       }\r
+       return SQ_ERROR;\r
 }\r
 \r
 static SQInteger base_error(HSQUIRRELVM v)\r
 {\r
        const SQChar *str;\r
-       sq_tostring(v,2);\r
-       sq_getstring(v,-1,&str);\r
-       if(_ss(v)->_errorfunc) _ss(v)->_errorfunc(v,_SC("%s"),str);\r
-       return 0;\r
+       if(SQ_SUCCEEDED(sq_tostring(v,2)))\r
+       {\r
+               if(SQ_SUCCEEDED(sq_getstring(v,-1,&str))) {\r
+                       if(_ss(v)->_errorfunc) _ss(v)->_errorfunc(v,_SC("%s"),str);\r
+                       return 0;\r
+               }\r
+       }\r
+       return SQ_ERROR;\r
 }\r
 \r
 static SQInteger base_compilestring(HSQUIRRELVM v)\r
@@ -378,7 +386,8 @@ static SQInteger default_delegate_tointeger(HSQUIRRELVM v)
 \r
 static SQInteger default_delegate_tostring(HSQUIRRELVM v)\r
 {\r
-       sq_tostring(v,1);\r
+       if(SQ_FAILED(sq_tostring(v,1))) \r
+               return SQ_ERROR;\r
        return 1;\r
 }\r
 \r