Revert "Update to SQUIRREL 3.0.4"
[supertux.git] / external / squirrel / sqstdlib / sqstdblob.cpp
old mode 100644 (file)
new mode 100755 (executable)
index 59cff0d..05ef8d9
@@ -15,9 +15,7 @@
 #define SETUP_BLOB(v) \\r
        SQBlob *self = NULL; \\r
        { if(SQ_FAILED(sq_getinstanceup(v,1,(SQUserPointer*)&self,(SQUserPointer)SQSTD_BLOB_TYPE_TAG))) \\r
-               return sq_throwerror(v,_SC("invalid type tag"));  } \\r
-       if(!self || !self->IsValid())  \\r
-               return sq_throwerror(v,_SC("the blob is invalid"));\r
+               return SQ_ERROR; }\r
 \r
 \r
 static SQInteger _blob_resize(HSQUIRRELVM v)\r
@@ -117,8 +115,7 @@ static SQInteger _blob__typeof(HSQUIRRELVM v)
 static SQInteger _blob_releasehook(SQUserPointer p, SQInteger size)\r
 {\r
        SQBlob *self = (SQBlob*)p;\r
-       self->~SQBlob();\r
-       sq_free(self,sizeof(SQBlob));\r
+       delete self;\r
        return 1;\r
 }\r
 \r
@@ -130,32 +127,10 @@ static SQInteger _blob_constructor(HSQUIRRELVM v)
                sq_getinteger(v, 2, &size);\r
        }\r
        if(size < 0) return sq_throwerror(v, _SC("cannot create blob with negative size"));\r
-       //SQBlob *b = new SQBlob(size);\r
-\r
-       SQBlob *b = new (sq_malloc(sizeof(SQBlob)))SQBlob(size);\r
+       SQBlob *b = new SQBlob(size);\r
        if(SQ_FAILED(sq_setinstanceup(v,1,b))) {\r
-               b->~SQBlob();\r
-               sq_free(b,sizeof(SQBlob));\r
-               return sq_throwerror(v, _SC("cannot create blob"));\r
-       }\r
-       sq_setreleasehook(v,1,_blob_releasehook);\r
-       return 0;\r
-}\r
-\r
-static SQInteger _blob__cloned(HSQUIRRELVM v)\r
-{\r
-       SQBlob *other = NULL;\r
-       { \r
-               if(SQ_FAILED(sq_getinstanceup(v,2,(SQUserPointer*)&other,(SQUserPointer)SQSTD_BLOB_TYPE_TAG)))\r
-                       return SQ_ERROR; \r
-       }\r
-       //SQBlob *thisone = new SQBlob(other->Len());\r
-       SQBlob *thisone = new (sq_malloc(sizeof(SQBlob)))SQBlob(other->Len());\r
-       memcpy(thisone->GetBuf(),other->GetBuf(),thisone->Len());\r
-       if(SQ_FAILED(sq_setinstanceup(v,1,thisone))) {\r
-               thisone->~SQBlob();\r
-               sq_free(thisone,sizeof(SQBlob));\r
-               return sq_throwerror(v, _SC("cannot clone blob"));\r
+               delete b;\r
+               return sq_throwerror(v, _SC("cannot create blob with negative size"));\r
        }\r
        sq_setreleasehook(v,1,_blob_releasehook);\r
        return 0;\r
@@ -171,7 +146,6 @@ static SQRegFunction _blob_methods[] = {
        _DECL_BLOB_FUNC(_get,2,_SC("xn")),\r
        _DECL_BLOB_FUNC(_typeof,1,_SC("x")),\r
        _DECL_BLOB_FUNC(_nexti,2,_SC("x")),\r
-       _DECL_BLOB_FUNC(_cloned,2,_SC("xx")),\r
        {0,0,0,0}\r
 };\r
 \r