Fix for syntax errors
[supertux.git] / external / squirrel / patches / patch5.patch
1 diff --git a/external/squirrel/sqstdlib/sqstdstream.cpp b/external/squirrel/sqstdlib/sqstdstream.cpp
2 index 1b7a08f..af866a8 100644
3 --- a/external/squirrel/sqstdlib/sqstdstream.cpp
4 +++ b/external/squirrel/sqstdlib/sqstdstream.cpp
5 @@ -258,7 +258,11 @@ void init_streamclass(HSQUIRRELVM v)
6         sq_pushstring(v,_SC("std_stream"),-1);\r
7         if(SQ_FAILED(sq_get(v,-2))) {\r
8                 sq_pushstring(v,_SC("std_stream"),-1);\r
9 -               sq_newclass(v,SQFalse);\r
10 +               if(SQ_FAILED(sq_newclass(v,SQFalse)))\r
11 +               {\r
12 +                 throw "Failed to create new std_stream class";\r
13 +                 return;\r
14 +               }\r
15                 sq_settypetag(v,-1,(SQUserPointer)SQSTD_STREAM_TYPE_TAG);\r
16                 SQInteger i = 0;\r
17                 while(_stream_methods[i].name != 0) {\r
18 @@ -266,10 +270,16 @@ void init_streamclass(HSQUIRRELVM v)
19                         sq_pushstring(v,f.name,-1);\r
20                         sq_newclosure(v,f.f,0);\r
21                         sq_setparamscheck(v,f.nparamscheck,f.typemask);\r
22 -                       sq_newslot(v,-3,SQFalse);\r
23 +                       if(SQ_FAILED(sq_newslot(v,-3,SQFalse)))\r
24 +                        {\r
25 +                           throw "Failed to create new table slot for stream_method";\r
26 +                        }\r
27                         i++;\r
28                 }\r
29 -               sq_newslot(v,-3,SQFalse);\r
30 +               if(SQ_FAILED(sq_newslot(v,-3,SQFalse)))\r
31 +                {\r
32 +                  throw "Failed to create new table slot for stream";\r
33 +                }\r
34                 sq_pushroottable(v);\r
35                 sq_pushstring(v,_SC("stream"),-1);\r
36                 sq_pushstring(v,_SC("std_stream"),-1);\r
37 @@ -306,7 +316,10 @@ SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,c
38                         sq_newslot(v,-3,SQFalse);\r
39                         i++;\r
40                 }\r
41 -               sq_newslot(v,-3,SQFalse);\r
42 +               if(SQ_FAILED(sq_newslot(v,-3,SQFalse)))\r
43 +                {\r
44 +                  throw "Failed to create new table slot";\r
45 +                }\r
46                 sq_pop(v,1);\r
47                 \r
48                 i = 0;\r
49 @@ -317,7 +330,10 @@ SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,c
50                         sq_newclosure(v,f.f,0);\r
51                         sq_setparamscheck(v,f.nparamscheck,f.typemask);\r
52                         sq_setnativeclosurename(v,-1,f.name);\r
53 -                       sq_newslot(v,-3,SQFalse);\r
54 +                       if(SQ_FAILED(sq_newslot(v,-3,SQFalse)))\r
55 +                        {\r
56 +                          throw "Failed to create new table slot for global";\r
57 +                        }\r
58                         i++;\r
59                 }\r
60                 //register the class in the target table\r
61 diff --git a/external/squirrel/sqstdlib/sqstdsystem.cpp b/external/squirrel/sqstdlib/sqstdsystem.cpp
62 index 40f78d7..b5359b6 100644
63 --- a/external/squirrel/sqstdlib/sqstdsystem.cpp
64 +++ b/external/squirrel/sqstdlib/sqstdsystem.cpp
65 @@ -140,7 +140,10 @@ SQInteger sqstd_register_systemlib(HSQUIRRELVM v)
66                 sq_newclosure(v,systemlib_funcs[i].f,0);\r
67                 sq_setparamscheck(v,systemlib_funcs[i].nparamscheck,systemlib_funcs[i].typemask);\r
68                 sq_setnativeclosurename(v,-1,systemlib_funcs[i].name);\r
69 -               sq_newslot(v,-3,SQFalse);\r
70 +               if(SQ_FAILED(sq_newslot(v,-3,SQFalse)))\r
71 +               {\r
72 +                 throw "Failed to create new table slot for systemlib_func";\r
73 +               }\r
74                 i++;\r
75         }\r
76         return 1;\r