]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix bug in apiExecute
authorAnthony Minessale <anthony.minessale@gmail.com>
Sat, 15 Nov 2008 01:30:15 +0000 (01:30 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Sat, 15 Nov 2008 01:30:15 +0000 (01:30 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10413 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/languages/mod_spidermonkey/mod_spidermonkey.c

index 00babaf5b4a60b8f75498a16e538f54f2175e4c3..1dade86a00420afac99120719139c93d514a0929 100644 (file)
@@ -3317,7 +3317,6 @@ static JSBool js_api_execute(JSContext * cx, JSObject * obj, uintN argc, jsval *
                char *arg = NULL;
                switch_core_session_t *session = NULL;
                switch_stream_handle_t stream = { 0 };
-               char retbuf[2048] = "";
 
                if (!strcasecmp(cmd, "jsapi")) {
                        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid API Call!\n");
@@ -3339,13 +3338,12 @@ static JSBool js_api_execute(JSContext * cx, JSObject * obj, uintN argc, jsval *
                        }
                }
 
-               stream.data = retbuf;
-               stream.end = stream.data;
-               stream.data_size = sizeof(retbuf);
-               stream.write_function = switch_console_stream_write;
+               SWITCH_STANDARD_STREAM(stream);
                switch_api_execute(cmd, arg, session, &stream);
 
-               *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, retbuf));
+               *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, switch_str_nil((char *)stream.data)));
+               switch_safe_free(stream.data);
+
        } else {
                *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, ""));
        }