diff --git a/src/sbbs3/js_console.cpp b/src/sbbs3/js_console.cpp index 3570cbb9c62f4822b5c92d0fbb94880bae5e2fac..fda1a3330d189acb45a716e3f21924d7bf02e7d6 100644 --- a/src/sbbs3/js_console.cpp +++ b/src/sbbs3/js_console.cpp @@ -700,7 +700,8 @@ js_getkeys(JSContext *cx, uintN argc, jsval *arglist) char key[2]; uintN i; int32 val; - uint32 maxnum = 0; + uint32 maxnum = ~0; + bool maxnum_specified = false; long mode = K_UPPER; sbbs_t* sbbs; JSString* js_str=NULL; @@ -716,9 +717,10 @@ js_getkeys(JSContext *cx, uintN argc, jsval *arglist) if(JSVAL_IS_NUMBER(argv[i])) { if(!JS_ValueToInt32(cx, argv[i], &val)) return JS_FALSE; - if(maxnum == 0) + if(!maxnum_specified) { + maxnum_specified = true; maxnum = val; - else + } else mode = val; continue; } @@ -730,9 +732,6 @@ js_getkeys(JSContext *cx, uintN argc, jsval *arglist) } } - if(maxnum == 0) - maxnum = ~0; - rc=JS_SUSPENDREQUEST(cx); val=sbbs->getkeys(cstr, maxnum, mode); FREE_AND_NULL(cstr);