diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp index edb056c1685ee82396b200992e9b617d73098bc4..7955d514a5898f8ab15ed963992def8cc9d2e43d 100644 --- a/src/sbbs3/js_bbs.cpp +++ b/src/sbbs3/js_bbs.cpp @@ -1002,6 +1002,25 @@ js_load_text(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } +static JSBool +js_atcode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + sbbs_t* sbbs; + + if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) + return(JS_FALSE); + + char* p = JS_GetStringBytes(JS_ValueToString(cx, argv[0])); + + if(p==NULL) + *rval = JSVAL_NULL; + else + *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, p)); + + return(JS_TRUE); +} + + static JSBool js_logkey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { @@ -2299,6 +2318,7 @@ js_getnstime(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) static JSFunctionSpec js_bbs_functions[] = { + {"atcode", js_atcode, 1}, // return @-code variable /* text.dat */ {"text", js_text, 1}, // return text string from text.dat {"replace_text", js_replace_text, 2}, // replace a text string