mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-13 12:40:17 +00:00
format code
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@727 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
e9ba607a6c
commit
55b7373a07
@ -79,9 +79,9 @@ static struct {
|
|||||||
|
|
||||||
|
|
||||||
static JSClass global_class = {
|
static JSClass global_class = {
|
||||||
"Global", JSCLASS_HAS_PRIVATE,
|
"Global", JSCLASS_HAS_PRIVATE,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub,
|
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@ -129,9 +129,9 @@ struct teletone_obj {
|
|||||||
|
|
||||||
static void js_error(JSContext *cx, const char *message, JSErrorReport *report)
|
static void js_error(JSContext *cx, const char *message, JSErrorReport *report)
|
||||||
{
|
{
|
||||||
if (message) {
|
if (message) {
|
||||||
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "%s\n", message);
|
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "%s\n", message);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,15 +146,11 @@ static switch_status init_js(void)
|
|||||||
globals.gErrFile = stderr;
|
globals.gErrFile = stderr;
|
||||||
globals.gOutFile = stdout;
|
globals.gOutFile = stdout;
|
||||||
|
|
||||||
|
if (!(globals.rt = JS_NewRuntime(64L * 1024L * 1024L))) {
|
||||||
if (!(globals.rt = JS_NewRuntime(64L * 1024L * 1024L))) {
|
|
||||||
return SWITCH_STATUS_FALSE;
|
return SWITCH_STATUS_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static switch_status js_stream_dtmf_callback(switch_core_session *session, char *dtmf, void *buf, unsigned int buflen)
|
static switch_status js_stream_dtmf_callback(switch_core_session *session, char *dtmf, void *buf, unsigned int buflen)
|
||||||
@ -166,7 +162,7 @@ static switch_status js_stream_dtmf_callback(switch_core_session *session, char
|
|||||||
jsval rval;
|
jsval rval;
|
||||||
char *ret;
|
char *ret;
|
||||||
|
|
||||||
if(!jss) {
|
if (!jss) {
|
||||||
return SWITCH_STATUS_FALSE;
|
return SWITCH_STATUS_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,10 +228,10 @@ static switch_status js_stream_dtmf_callback(switch_core_session *session, char
|
|||||||
if ((p = strchr(ret, ':'))) {
|
if ((p = strchr(ret, ':'))) {
|
||||||
p++;
|
p++;
|
||||||
if (*p == '+' || *p == '-') {
|
if (*p == '+' || *p == '-') {
|
||||||
int step;
|
int step;
|
||||||
if (!(step = atoi(p))) {
|
if (!(step = atoi(p))) {
|
||||||
step = 1000;
|
step = 1000;
|
||||||
}
|
}
|
||||||
if (step > 0) {
|
if (step > 0) {
|
||||||
samps = step * (codec->implementation->samples_per_second / 1000);
|
samps = step * (codec->implementation->samples_per_second / 1000);
|
||||||
switch_core_file_seek(fh, &pos, samps, SEEK_CUR);
|
switch_core_file_seek(fh, &pos, samps, SEEK_CUR);
|
||||||
@ -243,10 +239,10 @@ static switch_status js_stream_dtmf_callback(switch_core_session *session, char
|
|||||||
samps = step * (codec->implementation->samples_per_second / 1000);
|
samps = step * (codec->implementation->samples_per_second / 1000);
|
||||||
switch_core_file_seek(fh, &pos, fh->pos - samps, SEEK_SET);
|
switch_core_file_seek(fh, &pos, fh->pos - samps, SEEK_SET);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
samps = atoi(p) * (codec->implementation->samples_per_second / 1000);
|
samps = atoi(p) * (codec->implementation->samples_per_second / 1000);
|
||||||
switch_core_file_seek(fh, &pos, samps, SEEK_SET);
|
switch_core_file_seek(fh, &pos, samps, SEEK_SET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
@ -274,7 +270,7 @@ static switch_status js_record_dtmf_callback(switch_core_session *session, char
|
|||||||
jsval rval;
|
jsval rval;
|
||||||
char *ret;
|
char *ret;
|
||||||
|
|
||||||
if(!jss) {
|
if (!jss) {
|
||||||
return SWITCH_STATUS_FALSE;
|
return SWITCH_STATUS_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,7 +330,7 @@ static switch_status js_speak_dtmf_callback(switch_core_session *session, char *
|
|||||||
jsval rval;
|
jsval rval;
|
||||||
char *ret;
|
char *ret;
|
||||||
|
|
||||||
if(!jss) {
|
if (!jss) {
|
||||||
return SWITCH_STATUS_FALSE;
|
return SWITCH_STATUS_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -374,7 +370,7 @@ static switch_status js_speak_dtmf_callback(switch_core_session *session, char *
|
|||||||
static JSBool session_recordfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
static JSBool session_recordfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
||||||
{
|
{
|
||||||
struct js_session *jss = JS_GetPrivate(cx, obj);
|
struct js_session *jss = JS_GetPrivate(cx, obj);
|
||||||
switch_channel *channel;
|
switch_channel *channel;
|
||||||
char *file_name = NULL;
|
char *file_name = NULL;
|
||||||
char *dtmf_callback = NULL;
|
char *dtmf_callback = NULL;
|
||||||
void *bp = NULL;
|
void *bp = NULL;
|
||||||
@ -384,7 +380,7 @@ static JSBool session_recordfile(JSContext *cx, JSObject *obj, uintN argc, jsval
|
|||||||
switch_file_handle fh;
|
switch_file_handle fh;
|
||||||
|
|
||||||
channel = switch_core_session_get_channel(jss->session);
|
channel = switch_core_session_get_channel(jss->session);
|
||||||
assert(channel != NULL);
|
assert(channel != NULL);
|
||||||
|
|
||||||
if (argc > 0) {
|
if (argc > 0) {
|
||||||
file_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
|
file_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
|
||||||
@ -419,7 +415,7 @@ static JSBool session_recordfile(JSContext *cx, JSObject *obj, uintN argc, jsval
|
|||||||
static JSBool session_streamfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
static JSBool session_streamfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
||||||
{
|
{
|
||||||
struct js_session *jss = JS_GetPrivate(cx, obj);
|
struct js_session *jss = JS_GetPrivate(cx, obj);
|
||||||
switch_channel *channel;
|
switch_channel *channel;
|
||||||
char *file_name = NULL;
|
char *file_name = NULL;
|
||||||
char *timer_name = NULL;
|
char *timer_name = NULL;
|
||||||
char *dtmf_callback = NULL;
|
char *dtmf_callback = NULL;
|
||||||
@ -430,7 +426,7 @@ static JSBool session_streamfile(JSContext *cx, JSObject *obj, uintN argc, jsval
|
|||||||
switch_file_handle fh;
|
switch_file_handle fh;
|
||||||
|
|
||||||
channel = switch_core_session_get_channel(jss->session);
|
channel = switch_core_session_get_channel(jss->session);
|
||||||
assert(channel != NULL);
|
assert(channel != NULL);
|
||||||
|
|
||||||
if (argc > 0) {
|
if (argc > 0) {
|
||||||
file_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
|
file_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
|
||||||
@ -471,7 +467,7 @@ static JSBool session_streamfile(JSContext *cx, JSObject *obj, uintN argc, jsval
|
|||||||
static JSBool session_speak(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
static JSBool session_speak(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
||||||
{
|
{
|
||||||
struct js_session *jss = JS_GetPrivate(cx, obj);
|
struct js_session *jss = JS_GetPrivate(cx, obj);
|
||||||
switch_channel *channel;
|
switch_channel *channel;
|
||||||
char *tts_name = NULL;
|
char *tts_name = NULL;
|
||||||
char *voice_name = NULL;
|
char *voice_name = NULL;
|
||||||
char *text = NULL;
|
char *text = NULL;
|
||||||
@ -483,7 +479,7 @@ static JSBool session_speak(JSContext *cx, JSObject *obj, uintN argc, jsval *arg
|
|||||||
switch_dtmf_callback_function dtmf_func = NULL;
|
switch_dtmf_callback_function dtmf_func = NULL;
|
||||||
|
|
||||||
channel = switch_core_session_get_channel(jss->session);
|
channel = switch_core_session_get_channel(jss->session);
|
||||||
assert(channel != NULL);
|
assert(channel != NULL);
|
||||||
|
|
||||||
if (argc > 0) {
|
if (argc > 0) {
|
||||||
tts_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
|
tts_name = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
|
||||||
@ -635,7 +631,7 @@ struct config_data {
|
|||||||
|
|
||||||
static size_t realtime_callback(void *ptr, size_t size, size_t nmemb, void *data)
|
static size_t realtime_callback(void *ptr, size_t size, size_t nmemb, void *data)
|
||||||
{
|
{
|
||||||
register size_t realsize = size * nmemb;
|
register size_t realsize = size * nmemb;
|
||||||
char *line, lineb[2048], *nextline = NULL, *val = NULL, *p = NULL;
|
char *line, lineb[2048], *nextline = NULL, *val = NULL, *p = NULL;
|
||||||
jsval rval;
|
jsval rval;
|
||||||
struct config_data *config_data = data;
|
struct config_data *config_data = data;
|
||||||
@ -651,26 +647,26 @@ static size_t realtime_callback(void *ptr, size_t size, size_t nmemb, void *data
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((val = strchr(line, '='))) {
|
if ((val = strchr(line, '='))) {
|
||||||
*val = '\0';
|
*val = '\0';
|
||||||
val++;
|
val++;
|
||||||
if (val[0] == '>') {
|
if (val[0] == '>') {
|
||||||
*val = '\0';
|
*val = '\0';
|
||||||
val++;
|
val++;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (p = line; p && *p == ' '; p++);
|
for (p = line; p && *p == ' '; p++);
|
||||||
line = p;
|
line = p;
|
||||||
for (p=line+strlen(line)-1;*p == ' '; p--)
|
for (p=line+strlen(line)-1;*p == ' '; p--)
|
||||||
*p = '\0';
|
*p = '\0';
|
||||||
for (p = val; p && *p == ' '; p++);
|
for (p = val; p && *p == ' '; p++);
|
||||||
val = p;
|
val = p;
|
||||||
for (p=val+strlen(val)-1;*p == ' '; p--)
|
for (p=val+strlen(val)-1;*p == ' '; p--)
|
||||||
*p = '\0';
|
*p = '\0';
|
||||||
|
|
||||||
snprintf(code, sizeof(code), "~%s[\"%s\"] = \"%s\"", config_data->name, line, val);
|
snprintf(code, sizeof(code), "~%s[\"%s\"] = \"%s\"", config_data->name, line, val);
|
||||||
eval_some_js(code, config_data->cx, config_data->obj, &rval);
|
eval_some_js(code, config_data->cx, config_data->obj, &rval);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
line = nextline;
|
line = nextline;
|
||||||
}
|
}
|
||||||
@ -705,7 +701,7 @@ static JSBool js_fetchurl(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
|
|||||||
curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "asterisk-js/1.0");
|
curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "asterisk-js/1.0");
|
||||||
curl_easy_perform(curl_handle);
|
curl_easy_perform(curl_handle);
|
||||||
curl_easy_cleanup(curl_handle);
|
curl_easy_cleanup(curl_handle);
|
||||||
} else {
|
} else {
|
||||||
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Error!\n");
|
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Error!\n");
|
||||||
return JS_FALSE;
|
return JS_FALSE;
|
||||||
}
|
}
|
||||||
@ -717,34 +713,34 @@ static JSBool js_fetchurl(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
|
|||||||
/* Session Object */
|
/* Session Object */
|
||||||
/*********************************************************************************/
|
/*********************************************************************************/
|
||||||
enum session_tinyid {
|
enum session_tinyid {
|
||||||
SESSION_NAME, SESSION_STATE,
|
SESSION_NAME, SESSION_STATE,
|
||||||
PROFILE_DIALPLAN, PROFILE_CID_NAME, PROFILE_CID_NUM, PROFILE_IP, PROFILE_ANI, PROFILE_ANI2, PROFILE_DEST
|
PROFILE_DIALPLAN, PROFILE_CID_NAME, PROFILE_CID_NUM, PROFILE_IP, PROFILE_ANI, PROFILE_ANI2, PROFILE_DEST
|
||||||
};
|
};
|
||||||
|
|
||||||
static JSFunctionSpec session_methods[] = {
|
static JSFunctionSpec session_methods[] = {
|
||||||
{"streamFile", session_streamfile, 1},
|
{"streamFile", session_streamfile, 1},
|
||||||
{"recordFile", session_recordfile, 1},
|
{"recordFile", session_recordfile, 1},
|
||||||
{"speak", session_speak, 1},
|
{"speak", session_speak, 1},
|
||||||
{"getDigits", session_get_digits, 1},
|
{"getDigits", session_get_digits, 1},
|
||||||
{"answer", session_answer, 0},
|
{"answer", session_answer, 0},
|
||||||
{"ready", session_ready, 0},
|
{"ready", session_ready, 0},
|
||||||
{"waitForAnswer", session_wait_for_answer, 0},
|
{"waitForAnswer", session_wait_for_answer, 0},
|
||||||
{"hangup", session_hangup, 0},
|
{"hangup", session_hangup, 0},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static JSPropertySpec session_props[] = {
|
static JSPropertySpec session_props[] = {
|
||||||
{"name", SESSION_NAME, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"name", SESSION_NAME, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{"state", SESSION_STATE, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"state", SESSION_STATE, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{"dialplan", PROFILE_DIALPLAN, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"dialplan", PROFILE_DIALPLAN, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{"caller_id_name", PROFILE_CID_NAME, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"caller_id_name", PROFILE_CID_NAME, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{"caller_id_num", PROFILE_CID_NUM, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"caller_id_num", PROFILE_CID_NUM, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{"network_addr", PROFILE_IP, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"network_addr", PROFILE_IP, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{"ani", PROFILE_ANI, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"ani", PROFILE_ANI, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{"ani2", PROFILE_ANI2, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"ani2", PROFILE_ANI2, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{"destination", PROFILE_DEST, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"destination", PROFILE_DEST, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
static JSBool session_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
|
static JSBool session_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
|
||||||
@ -817,13 +813,13 @@ static JSBool session_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSClass session_class = {
|
JSClass session_class = {
|
||||||
"Session", JSCLASS_HAS_PRIVATE,
|
"Session", JSCLASS_HAS_PRIVATE,
|
||||||
JS_PropertyStub, JS_PropertyStub, session_getProperty, JS_PropertyStub,
|
JS_PropertyStub, JS_PropertyStub, session_getProperty, JS_PropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, session_destroy, NULL, NULL, NULL,
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, session_destroy, NULL, NULL, NULL,
|
||||||
session_construct
|
session_construct
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -838,8 +834,8 @@ static JSObject *new_js_session(JSContext *cx, JSObject *obj, switch_core_sessio
|
|||||||
jss->cx = cx;
|
jss->cx = cx;
|
||||||
jss->obj = obj;
|
jss->obj = obj;
|
||||||
if ((JS_SetPrivate(cx, session_obj, jss) &&
|
if ((JS_SetPrivate(cx, session_obj, jss) &&
|
||||||
JS_DefineProperties(cx, session_obj, session_props) &&
|
JS_DefineProperties(cx, session_obj, session_props) &&
|
||||||
JS_DefineFunctions(cx, session_obj, session_methods))) {
|
JS_DefineFunctions(cx, session_obj, session_methods))) {
|
||||||
return session_obj;
|
return session_obj;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1128,7 +1124,7 @@ static JSBool teletone_generate(JSContext *cx, JSObject *obj, uintN argc, jsval
|
|||||||
tto->ts.debug = 1;
|
tto->ts.debug = 1;
|
||||||
tto->ts.debug_stream = switch_core_get_console();
|
tto->ts.debug_stream = switch_core_get_console();
|
||||||
|
|
||||||
script = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
|
script = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
|
||||||
teletone_run(&tto->ts, script);
|
teletone_run(&tto->ts, script);
|
||||||
|
|
||||||
session = tto->session;
|
session = tto->session;
|
||||||
@ -1214,20 +1210,20 @@ static JSBool teletone_generate(JSContext *cx, JSObject *obj, uintN argc, jsval
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum teletone_tinyid {
|
enum teletone_tinyid {
|
||||||
TELETONE_NAME
|
TELETONE_NAME
|
||||||
};
|
};
|
||||||
|
|
||||||
static JSFunctionSpec teletone_methods[] = {
|
static JSFunctionSpec teletone_methods[] = {
|
||||||
{"generate", teletone_generate, 1},
|
{"generate", teletone_generate, 1},
|
||||||
{"onDTMF", teletone_on_dtmf, 1},
|
{"onDTMF", teletone_on_dtmf, 1},
|
||||||
{"addTone", teletone_add_tone, 10},
|
{"addTone", teletone_add_tone, 10},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static JSPropertySpec teletone_props[] = {
|
static JSPropertySpec teletone_props[] = {
|
||||||
{"name", TELETONE_NAME, JSPROP_READONLY|JSPROP_PERMANENT},
|
{"name", TELETONE_NAME, JSPROP_READONLY|JSPROP_PERMANENT},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -1235,13 +1231,13 @@ static JSBool teletone_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval
|
|||||||
{
|
{
|
||||||
JSBool res = JS_TRUE;
|
JSBool res = JS_TRUE;
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSClass teletone_class = {
|
JSClass teletone_class = {
|
||||||
"TeleTone", JSCLASS_HAS_PRIVATE,
|
"TeleTone", JSCLASS_HAS_PRIVATE,
|
||||||
JS_PropertyStub, JS_PropertyStub, teletone_getProperty, JS_PropertyStub,
|
JS_PropertyStub, JS_PropertyStub, teletone_getProperty, JS_PropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, teletone_destroy, NULL, NULL, NULL,
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, teletone_destroy, NULL, NULL, NULL,
|
||||||
teletone_construct
|
teletone_construct
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1252,7 +1248,7 @@ static JSBool js_log(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsva
|
|||||||
{
|
{
|
||||||
char *msg;
|
char *msg;
|
||||||
|
|
||||||
if((msg = JS_GetStringBytes(JS_ValueToString(cx, argv[0])))) {
|
if ((msg = JS_GetStringBytes(JS_ValueToString(cx, argv[0])))) {
|
||||||
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "JS_LOG: %s", msg);
|
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "JS_LOG: %s", msg);
|
||||||
return JS_TRUE;
|
return JS_TRUE;
|
||||||
}
|
}
|
||||||
@ -1335,12 +1331,12 @@ static JSBool js_email(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, js
|
|||||||
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
argc > 3 &&
|
argc > 3 &&
|
||||||
(from = JS_GetStringBytes(JS_ValueToString(cx, argv[0]))) &&
|
(from = JS_GetStringBytes(JS_ValueToString(cx, argv[0]))) &&
|
||||||
(to = JS_GetStringBytes(JS_ValueToString(cx, argv[1]))) &&
|
(to = JS_GetStringBytes(JS_ValueToString(cx, argv[1]))) &&
|
||||||
(headers = JS_GetStringBytes(JS_ValueToString(cx, argv[2]))) &&
|
(headers = JS_GetStringBytes(JS_ValueToString(cx, argv[2]))) &&
|
||||||
(body = JS_GetStringBytes(JS_ValueToString(cx, argv[3])))
|
(body = JS_GetStringBytes(JS_ValueToString(cx, argv[3])))
|
||||||
) {
|
) {
|
||||||
if ( argc > 4)
|
if ( argc > 4)
|
||||||
file = JS_GetStringBytes(JS_ValueToString(cx, argv[4]));
|
file = JS_GetStringBytes(JS_ValueToString(cx, argv[4]));
|
||||||
|
|
||||||
@ -1398,11 +1394,12 @@ static JSBool js_email(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, js
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (l > 0)
|
if (l > 0) {
|
||||||
out[bytes++] = c64[((b%16)<<(6-l))%64];
|
out[bytes++] = c64[((b%16)<<(6-l))%64];
|
||||||
if (l != 0) while (l < 6)
|
}
|
||||||
|
if (l != 0) while (l < 6) {
|
||||||
out[bytes++] = '=', l += 2;
|
out[bytes++] = '=', l += 2;
|
||||||
|
}
|
||||||
if (write(fd, &out, bytes) != bytes) {
|
if (write(fd, &out, bytes) != bytes) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1418,11 +1415,12 @@ static JSBool js_email(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, js
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fd)
|
if (fd) {
|
||||||
close(fd);
|
close(fd);
|
||||||
if (ifd)
|
}
|
||||||
|
if (ifd) {
|
||||||
close(ifd);
|
close(ifd);
|
||||||
|
}
|
||||||
snprintf(buf, B64BUFFLEN, "/bin/cat %s | /usr/sbin/sendmail -tf \"%s\" %s", filename, from, to);
|
snprintf(buf, B64BUFFLEN, "/bin/cat %s | /usr/sbin/sendmail -tf \"%s\" %s", filename, from, to);
|
||||||
system(buf);
|
system(buf);
|
||||||
unlink(filename);
|
unlink(filename);
|
||||||
@ -1529,7 +1527,7 @@ static void js_exec(switch_core_session *session, char *data)
|
|||||||
switch_channel *channel;
|
switch_channel *channel;
|
||||||
|
|
||||||
channel = switch_core_session_get_channel(session);
|
channel = switch_core_session_get_channel(session);
|
||||||
assert(channel != NULL);
|
assert(channel != NULL);
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "js requires an argument (filename|code)\n");
|
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "js requires an argument (filename|code)\n");
|
||||||
@ -1551,7 +1549,7 @@ static void js_exec(switch_core_session *session, char *data)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((cx = JS_NewContext(globals.rt, globals.gStackChunkSize))) {
|
if ((cx = JS_NewContext(globals.rt, globals.gStackChunkSize))) {
|
||||||
JS_SetErrorReporter(cx, js_error);
|
JS_SetErrorReporter(cx, js_error);
|
||||||
if ((javascript_global_object = JS_NewObject(cx, &global_class, NULL, NULL)) &&
|
if ((javascript_global_object = JS_NewObject(cx, &global_class, NULL, NULL)) &&
|
||||||
env_init(cx, javascript_global_object) &&
|
env_init(cx, javascript_global_object) &&
|
||||||
@ -1604,7 +1602,7 @@ static void *SWITCH_THREAD_FUNC js_thread_run(switch_thread *thread, void *obj)
|
|||||||
{
|
{
|
||||||
JSContext *cx = NULL;
|
JSContext *cx = NULL;
|
||||||
JSObject *javascript_global_object = NULL;
|
JSObject *javascript_global_object = NULL;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
char *code, *next, *arg, *nextarg;
|
char *code, *next, *arg, *nextarg;
|
||||||
jsval rval;
|
jsval rval;
|
||||||
int x = 0;
|
int x = 0;
|
||||||
@ -1714,7 +1712,7 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_load(const switch_loadable_modul
|
|||||||
{
|
{
|
||||||
switch_status status;
|
switch_status status;
|
||||||
|
|
||||||
if((status = init_js()) != SWITCH_STATUS_SUCCESS) {
|
if ((status = init_js()) != SWITCH_STATUS_SUCCESS) {
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user