Patch Squirrel before starting coverity analysis
[supertux.git] / squirrel_coverity.patch
1 diff --git a/external/squirrel/sqstdlib/sqstdstring.cpp b/external/squirrel/sqstdlib/sqstdstring.cpp
2 index 33316fa..a213135 100644
3 --- a/external/squirrel/sqstdlib/sqstdstring.cpp
4 +++ b/external/squirrel/sqstdlib/sqstdstring.cpp
5 @@ -116,6 +116,7 @@ SQRESULT sqstd_format(HSQUIRRELVM v,SQInteger nformatstringidx,SQInteger *outlen
6                                 fmt[fpos++] = _SC('\0');\r
7                                 }\r
8  #endif\r
9 +                break;\r
10                         case 'c':\r
11                                 if(SQ_FAILED(sq_getinteger(v,nparam,&ti))) \r
12                                         return sq_throwerror(v,_SC("integer expected for the specified format"));\r
13 diff --git a/external/squirrel/squirrel/sqfuncstate.cpp b/external/squirrel/squirrel/sqfuncstate.cpp
14 index aff80e5..1667815 100644
15 --- a/external/squirrel/squirrel/sqfuncstate.cpp
16 +++ b/external/squirrel/squirrel/sqfuncstate.cpp
17 @@ -460,6 +460,7 @@ void SQFuncState::AddInstruction(SQInstruction &i)
18                                 pi._arg1 = i._arg1;\r
19                                 return;\r
20                         }\r
21 +            break;\r
22                 case _OP_SET:\r
23                 case _OP_NEWSLOT:\r
24                         if(i._arg0 == i._arg3) {\r
25 diff --git a/external/squirrel/squirrel/sqlexer.cpp b/external/squirrel/squirrel/sqlexer.cpp
26 index 547835b..9df5f1f 100644
27 --- a/external/squirrel/squirrel/sqlexer.cpp
28 +++ b/external/squirrel/squirrel/sqlexer.cpp
29 @@ -192,6 +192,7 @@ SQInteger SQLexer::Lex()
30                         NEXT();\r
31                         if (CUR_CHAR != _SC('=')){ RETURN_TOKEN('!')}\r
32                         else { NEXT(); RETURN_TOKEN(TK_NE); }\r
33 +            break;\r
34                 case _SC('@'): {\r
35                         SQInteger stype;\r
36                         NEXT();\r
37 @@ -211,6 +212,7 @@ SQInteger SQLexer::Lex()
38                         }\r
39                         Error(_SC("error parsing the string"));\r
40                         }\r
41 +            break;\r
42                 case _SC('{'): case _SC('}'): case _SC('('): case _SC(')'): case _SC('['): case _SC(']'):\r
43                 case _SC(';'): case _SC(','): case _SC('?'): case _SC('^'): case _SC('~'):\r
44                         {SQInteger ret = CUR_CHAR;\r
45 diff --git a/external/squirrel/squirrel/sqvm.cpp b/external/squirrel/squirrel/sqvm.cpp
46 index de0927f..e941231 100644
47 --- a/external/squirrel/squirrel/sqvm.cpp
48 +++ b/external/squirrel/squirrel/sqvm.cpp
49 @@ -306,6 +306,7 @@ bool SQVM::ToString(const SQObjectPtr &o,SQObjectPtr &res)
50                                 }\r
51                         }\r
52                 }\r
53 +        break;\r
54         default:\r
55                 scsprintf(_sp(rsl(sizeof(void*)+20)),_SC("(%s : 0x%p)"),GetTypeName(o),(void*)_rawval(o));\r
56         }\r
57 @@ -561,6 +562,7 @@ bool SQVM::FOREACH_OP(SQObjectPtr &o1,SQObjectPtr &o2,SQObjectPtr
58                         _generator(o1)->Resume(this, o3);\r
59                         _FINISH(0);\r
60                 }\r
61 +        break;\r
62         default: \r
63                 Raise_Error(_SC("cannot iterate %s"), GetTypeName(o1));\r
64         }\r
65 @@ -724,6 +726,7 @@ exception_restore:
66                                         continue;\r
67                                 }\r
68                                                           }\r
69 +                break;\r
70                         case _OP_CALL: {\r
71                                         SQObjectPtr clo = STK(arg1);\r
72                                         switch (type(clo)) {\r