diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index 4f7b497b2ec5e69cb568df9ba73631e27bf67f87..957736add671297900fb1b37fca364bf17dd834f 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -445,12 +445,27 @@ js_logout(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } +static JSBool +js_reset_loop(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + service_client_t* client; + + if((client=(service_client_t*)JS_GetContextPrivate(cx))==NULL) + return(JS_FALSE); + + client->js_loop=0; + *rval = JSVAL_VOID; + return(JS_TRUE); +} + static JSFunctionSpec js_global_functions[] = { - {"write", js_write, 1}, /* write to client socket */ - {"writeln", js_writeln, 1}, /* write line to client socket */ - {"log", js_log, 1}, /* Log a string */ + {"write", js_write, 0}, /* write to client socket */ + {"writeln", js_writeln, 0}, /* write line to client socket */ + {"print", js_writeln, 0}, /* write line to client socket */ + {"log", js_log, 0}, /* Log a string */ {"login", js_login, 2}, /* Login specified username and password */ {"logout", js_logout, 0}, /* Logout user */ + {"reset_loop", js_reset_loop, 0}, /* reset loop counter */ {0} };