From 5772f0317ab690b37ee55587dd80ae6f2ad31e0c Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Fri, 4 Jul 2003 10:07:05 +0000 Subject: [PATCH] Created global reset_loop() method to defeat infinite-loop detection mechanism. print() is now an alias for writeln(). --- src/sbbs3/services.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index 4f7b497b2e..957736add6 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} }; -- GitLab