[commit] r7474 - freeswitch/trunk/src/mod/languages/mod_spidermonkey
Author: mikej Date: Fri Feb 1 16:19:33 2008 New Revision: 7474 Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Log: add setGlobalVariable to spidermonkey (FSCORE-94), Thanks Anthony Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original) +++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Fri Feb 1 16:19:33 2008 @@ -3054,9 +3054,21 @@ return JS_FALSE; } +static JSBool js_global_set(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval) +{ + char *var_name = NULL, *val = NULL; + if (argc > 1) { + var_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0])); + val = JS_GetStringBytes(JS_ValueToString(cx, argv[1])); + switch_core_set_variable(var_name, val); + return JS_TRUE; + } + /* this is so the wrong error message to throw for this one */ + eval_some_js("~throw new Error(\"var name not supplied!\");", cx, obj, rval); + return JS_FALSE; +} - -static JSBool js_global(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval) +static JSBool js_global_get(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval) { char *var_name = NULL, *val = NULL; @@ -3247,7 +3259,8 @@ static JSFunctionSpec fs_functions[] = { {"console_log", js_log, 2}, {"consoleLog", js_log, 2}, - {"getGlobalVariable", js_global, 2}, + {"getGlobalVariable", js_global_get, 2}, + {"setGlobalVariable", js_global_set, 2}, {"exit", js_exit, 0}, {"include", js_include, 1}, {"bridge", js_bridge, 2},
participants (1)
-
Freeswitch SVN