summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCCharacterData.cpp
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-08-13 10:07:32 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-08-13 10:07:32 (GMT)
commit459f406eb2a36d393bd3a2b6aa3d63d86eb99c07 (patch)
tree35593bb978fee75bb7547f3d2c84a9039413fe1f /src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCCharacterData.cpp
parentbeac3e74f703148085947d75da6fdaa9fd7472b4 (diff)
downloaduscxml-459f406eb2a36d393bd3a2b6aa3d63d86eb99c07.zip
uscxml-459f406eb2a36d393bd3a2b6aa3d63d86eb99c07.tar.gz
uscxml-459f406eb2a36d393bd3a2b6aa3d63d86eb99c07.tar.bz2
Started Java datamodel and fixed memory leaks
Diffstat (limited to 'src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCCharacterData.cpp')
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCCharacterData.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCCharacterData.cpp b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCCharacterData.cpp
index c7ce20a..f64b4c9 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCCharacterData.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCCharacterData.cpp
@@ -38,8 +38,9 @@ bool JSCCharacterData::dataAttrSetter(JSContextRef ctx, JSObjectRef thisObj, JSS
JSStringRef stringReflocalData = JSValueToStringCopy(ctx, value, exception);
size_t localDataMaxSize = JSStringGetMaximumUTF8CStringSize(stringReflocalData);
char* localDataBuffer = new char[localDataMaxSize];
- JSStringGetUTF8CString(stringReflocalData, localDataBuffer, sizeof(localDataBuffer));
- std::string localData(localDataBuffer, localDataMaxSize);
+ JSStringGetUTF8CString(stringReflocalData, localDataBuffer, localDataMaxSize);
+ std::string localData(localDataBuffer);
+ JSStringRelease(stringReflocalData);
free(localDataBuffer);
privData->nativeObj->setData(localData);
@@ -90,8 +91,9 @@ JSValueRef JSCCharacterData::appendDataCallback(JSContextRef ctx, JSObjectRef fu
JSStringRef stringReflocalArg = JSValueToStringCopy(ctx, arguments[0], exception);
size_t localArgMaxSize = JSStringGetMaximumUTF8CStringSize(stringReflocalArg);
char* localArgBuffer = new char[localArgMaxSize];
- JSStringGetUTF8CString(stringReflocalArg, localArgBuffer, sizeof(localArgBuffer));
- std::string localArg(localArgBuffer, localArgMaxSize);
+ JSStringGetUTF8CString(stringReflocalArg, localArgBuffer, localArgMaxSize);
+ std::string localArg(localArgBuffer);
+ JSStringRelease(stringReflocalArg);
free(localArgBuffer);
@@ -117,8 +119,9 @@ JSValueRef JSCCharacterData::insertDataCallback(JSContextRef ctx, JSObjectRef fu
JSStringRef stringReflocalArg = JSValueToStringCopy(ctx, arguments[1], exception);
size_t localArgMaxSize = JSStringGetMaximumUTF8CStringSize(stringReflocalArg);
char* localArgBuffer = new char[localArgMaxSize];
- JSStringGetUTF8CString(stringReflocalArg, localArgBuffer, sizeof(localArgBuffer));
- std::string localArg(localArgBuffer, localArgMaxSize);
+ JSStringGetUTF8CString(stringReflocalArg, localArgBuffer, localArgMaxSize);
+ std::string localArg(localArgBuffer);
+ JSStringRelease(stringReflocalArg);
free(localArgBuffer);
@@ -166,8 +169,9 @@ JSValueRef JSCCharacterData::replaceDataCallback(JSContextRef ctx, JSObjectRef f
JSStringRef stringReflocalArg = JSValueToStringCopy(ctx, arguments[2], exception);
size_t localArgMaxSize = JSStringGetMaximumUTF8CStringSize(stringReflocalArg);
char* localArgBuffer = new char[localArgMaxSize];
- JSStringGetUTF8CString(stringReflocalArg, localArgBuffer, sizeof(localArgBuffer));
- std::string localArg(localArgBuffer, localArgMaxSize);
+ JSStringGetUTF8CString(stringReflocalArg, localArgBuffer, localArgMaxSize);
+ std::string localArg(localArgBuffer);
+ JSStringRelease(stringReflocalArg);
free(localArgBuffer);