c077b3f9d5e6396f41cb8d5223f3d31edfd3a8db
[supertux.git] / external / squirrel / patches / 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');
7                                 }
8  #endif
9 +                break;
10                         case 'c':
11                                 if(SQ_FAILED(sq_getinteger(v,nparam,&ti))) 
12                                         return sq_throwerror(v,_SC("integer expected for the specified format"));
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;
19                                 return;
20                         }
21 +            break;
22                 case _OP_SET:
23                 case _OP_NEWSLOT:
24                         if(i._arg0 == i._arg3) {
25 diff --git a/external/squirrel/squirrel/sqlexer.cpp b/external/squirrel/squirrel/sqlexer.cpp
26 index 547835b..f4d4d04 100644
27 --- a/external/squirrel/squirrel/sqlexer.cpp
28 +++ b/external/squirrel/squirrel/sqlexer.cpp
29 @@ -18,7 +18,24 @@
30  #define TERMINATE_BUFFER() {_longstr.push_back(_SC('\0'));}
31  #define ADD_KEYWORD(key,id) _keywords->NewSlot( SQString::Create(ss, _SC(#key)) ,SQInteger(id))
32  
33 -SQLexer::SQLexer(){}
34 +SQLexer::SQLexer() :
35 +  _curtoken(0),
36 +  _keywords(NULL),
37 +  _reached_eof(false),
38 +  _prevtoken(0),
39 +  _currentline(0),
40 +  _lasttokenline(0),
41 +  _currentcolumn(0),
42 +  _svalue(NULL),
43 +  _nvalue(0),
44 +  _fvalue(0.0),
45 +  _readf(NULL),
46 +  _up(NULL),
47 +  _currdata('\0'),
48 +  _sharedstate(NULL),
49 +  _errfunc(NULL),
50 +  _errtarget(NULL)
51 +{}
52  SQLexer::~SQLexer()
53  {
54         _keywords->Release();
55 @@ -192,6 +209,7 @@ SQInteger SQLexer::Lex()
56                         NEXT();
57                         if (CUR_CHAR != _SC('=')){ RETURN_TOKEN('!')}
58                         else { NEXT(); RETURN_TOKEN(TK_NE); }
59 +            break;
60                 case _SC('@'): {
61                         SQInteger stype;
62                         NEXT();
63 @@ -203,6 +221,7 @@ SQInteger SQLexer::Lex()
64                         }
65                         Error(_SC("error parsing the string"));
66                                            }
67 +            break;
68                 case _SC('"'):
69                 case _SC('\''): {
70                         SQInteger stype;
71 @@ -211,6 +230,7 @@ SQInteger SQLexer::Lex()
72                         }
73                         Error(_SC("error parsing the string"));
74                         }
75 +            break;
76                 case _SC('{'): case _SC('}'): case _SC('('): case _SC(')'): case _SC('['): case _SC(']'):
77                 case _SC(';'): case _SC(','): case _SC('?'): case _SC('^'): case _SC('~'):
78                         {SQInteger ret = CUR_CHAR;
79 diff --git a/external/squirrel/squirrel/sqvm.cpp b/external/squirrel/squirrel/sqvm.cpp
80 index de0927f..e941231 100644
81 --- a/external/squirrel/squirrel/sqvm.cpp
82 +++ b/external/squirrel/squirrel/sqvm.cpp
83 @@ -306,6 +306,7 @@ bool SQVM::ToString(const SQObjectPtr &o,SQObjectPtr &res)
84                                 }
85                         }
86                 }
87 +        break;
88         default:
89                 scsprintf(_sp(rsl(sizeof(void*)+20)),_SC("(%s : 0x%p)"),GetTypeName(o),(void*)_rawval(o));
90         }
91 @@ -561,6 +562,7 @@ bool SQVM::FOREACH_OP(SQObjectPtr &o1,SQObjectPtr &o2,SQObjectPtr
92                         _generator(o1)->Resume(this, o3);
93                         _FINISH(0);
94                 }
95 +        break;
96         default: 
97                 Raise_Error(_SC("cannot iterate %s"), GetTypeName(o1));
98         }
99 @@ -724,6 +726,7 @@ exception_restore:
100                                         continue;
101                                 }
102                                                           }
103 +                break;
104                         case _OP_CALL: {
105                                         SQObjectPtr clo = STK(arg1);
106                                         switch (type(clo)) {