]> git.sesse.net Git - vlc/blobdiff - projects/mozilla/control/nporuntime.cpp
activex: implement async events handling for JavaScript
[vlc] / projects / mozilla / control / nporuntime.cpp
old mode 100755 (executable)
new mode 100644 (file)
index 57d0769..b237fbd
@@ -37,7 +37,7 @@
 
 char* RuntimeNPObject::stringValue(const NPString &s)
 {
-    NPUTF8 *val = new NPUTF8[s.utf8length+1];
+    NPUTF8 *val = static_cast<NPUTF8*>(malloc((s.utf8length+1) * sizeof(*val)));
     if( val )
     {
         strncpy(val, s.utf8characters, s.utf8length);
@@ -110,3 +110,24 @@ bool RuntimeNPObject::returnInvokeResult(RuntimeNPObject::InvokeResult result)
     }
     return false;
 }
+
+RuntimeNPObject::InvokeResult
+RuntimeNPObject::invokeResultString(const char *psz, NPVariant &result)
+{
+    if( !psz )
+        NULL_TO_NPVARIANT(result);
+    else
+    {
+        size_t len = strlen(psz);
+        NPUTF8* retval = (NPUTF8*)NPN_MemAlloc(len);
+        if( !retval )
+            return INVOKERESULT_OUT_OF_MEMORY;
+        else
+        {
+            memcpy(retval, psz, len);
+            STRINGN_TO_NPVARIANT(retval, len, result);
+        }
+    }
+    return INVOKERESULT_NO_ERROR;
+}
+