From c9e2c1fbbc5c573e4ad6b08cafdde036e2b717fb Mon Sep 17 00:00:00 2001 From: "Rob Swindell (on ChromeOS)" <rob@synchro.net> Date: Sat, 11 Mar 2023 14:08:12 -0800 Subject: [PATCH] bbs.logoff() now returns a boolean: false if log-off was denied Previously, there was no good way for the caller to determine if the\ user opted (when prompted) to actually log-off or not. --- src/sbbs3/js_bbs.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp index 0d87a18b26..55d72acd9b 100644 --- a/src/sbbs3/js_bbs.cpp +++ b/src/sbbs3/js_bbs.cpp @@ -1940,7 +1940,7 @@ js_logoff(JSContext *cx, uintN argc, jsval *arglist) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) return(JS_FALSE); - JS_SET_RVAL(cx, arglist, JSVAL_VOID); + JS_SET_RVAL(cx, arglist, JSVAL_FALSE); if(argc) JS_ValueToBoolean(cx,argv[0],&prompt); @@ -1953,6 +1953,7 @@ js_logoff(JSContext *cx, uintN argc, jsval *arglist) sbbs->menu("logoff"); sbbs->sync(); sbbs->hangup(); + JS_SET_RVAL(cx, arglist, JSVAL_TRUE); } JS_RESUMEREQUEST(cx, rc); @@ -4406,8 +4407,8 @@ static jsSyncMethodSpec js_bbs_functions[] = { ,JSDOCSTR("interactive logon procedure") ,310 }, - {"logoff", js_logoff, 1, JSTYPE_VOID, JSDOCSTR("[prompt=<i>true</i>]") - ,JSDOCSTR("interactive logoff procedure, pass <i>false</i> for <i>prompt</i> argument to avoid yes/no prompt") + {"logoff", js_logoff, 1, JSTYPE_BOOLEAN, JSDOCSTR("[prompt=<i>true</i>]") + ,JSDOCSTR("interactive logoff procedure, pass <i>false</i> for <i>prompt</i> argument to avoid yes/no prompt, returns <i>false</i> if denied logoff") ,315 }, {"logout", js_logout, 0, JSTYPE_VOID, JSDOCSTR("") -- GitLab