Update Squirrel to 2.2.2 (although README says 2.2.1)
[supertux.git] / src / squirrel / squirrel / sqarray.h
index 451b07d..5c26352 100644 (file)
@@ -61,14 +61,22 @@ public:
        void Extend(const SQArray *a);
        SQObjectPtr &Top(){return _values.top();}
        void Pop(){_values.pop_back(); ShrinkIfNeeded(); }
-       void Insert(const SQObject& idx,const SQObject &val){_values.insert((SQUnsignedInteger)tointeger(idx),val);}
+       bool Insert(SQInteger idx,const SQObject &val){
+               if(idx < 0 || idx > (SQInteger)_values.size())
+                       return false;
+               _values.insert(idx,val);
+               return true;
+       }
        void ShrinkIfNeeded() {
                if(_values.size() <= _values.capacity()>>2) //shrink the array
                        _values.shrinktofit();
        }
-       void Remove(SQUnsignedInteger idx){
+       bool Remove(SQInteger idx){
+               if(idx < 0 || idx >= (SQInteger)_values.size())
+                       return false;
                _values.remove(idx);
                ShrinkIfNeeded();
+               return true;
        }
        void Release()
        {