From df0ab3a1071883b7c8fb18c7b4c8f8544f34683a Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Thu, 3 May 2001 23:15:53 +0000
Subject: [PATCH] Uses new js_CreateGlobalObject() function to create global
 objects and add shared methods.

---
 src/sbbs3/ftpsrvr.c | 15 +++------------
 src/sbbs3/main.cpp  | 16 ++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)

diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index 263ca4e4e7..29685a261e 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -392,12 +392,6 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 	return(JS_TRUE);
 }
 
-static JSClass js_global_class = {
-        "Global",0, 
-        JS_PropertyStub,JS_PropertyStub,JS_PropertyStub,JS_PropertyStub, 
-        JS_EnumerateStub,JS_ResolveStub,JS_ConvertStub,JS_FinalizeStub 
-}; 
-
 static JSFunctionSpec js_global_functions[] = {
 	{"write",           js_write,           1},		/* write to HTML file */
 	{0}
@@ -461,10 +455,7 @@ JSContext* js_initcx(JSObject** glob)
 
 	do {
 
-		if((js_glob = JS_NewObject(js_cx, &js_global_class, NULL, NULL))==NULL) 
-			break;
-
-		if (!JS_InitStandardClasses(js_cx, js_glob)) 
+		if((js_glob=js_CreateGlobalObject(&scfg, js_cx))==NULL) 
 			break;
 
 		if (!JS_DefineFunctions(js_cx, js_glob, js_global_functions)) 
@@ -650,7 +641,7 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* js_glob,
 		}
 
 		/* curlib */
-		if((lib_obj=JS_NewObject(js_cx, &js_global_class, 0, NULL))==NULL) {
+		if((lib_obj=JS_NewObject(js_cx, &js_file_class, 0, NULL))==NULL) {
 			lprintf("%04d !JavaScript FAILED to create lib_obj",sock);
 			break;
 		}
@@ -662,7 +653,7 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* js_glob,
 		}
 
 		/* curdir */
-		if((dir_obj=JS_NewObject(js_cx, &js_global_class, 0, NULL))==NULL) {
+		if((dir_obj=JS_NewObject(js_cx, &js_file_class, 0, NULL))==NULL) {
 			lprintf("%04d !JavaScript FAILED to create dir_obj",sock);
 			break;
 		}
diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 7045dbe16a..cd0c8e6029 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -213,12 +213,6 @@ js_prompt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
     return JS_TRUE;
 }
 
-static JSClass js_global_class ={
-        "Global",0, 
-        JS_PropertyStub,JS_PropertyStub,JS_PropertyStub,JS_PropertyStub, 
-        JS_EnumerateStub,JS_ResolveStub,JS_ConvertStub,JS_FinalizeStub 
-    }; 
-
 static JSFunctionSpec js_global_functions[] = {
     {"print",           js_print,           0},		/* Print a string, auto-crlf */
     {"printf",          js_printf,          1},		/* Print a formatted string */
@@ -285,10 +279,7 @@ bool sbbs_t::js_initcx()
 
 		JS_SetContextPrivate(js_cx, this);	/* Store a pointer to sbbs_t instance */
 
-		if((js_glob = JS_NewObject(js_cx, &js_global_class, NULL, NULL)) ==NULL)
-			break;
-
-		if (!JS_InitStandardClasses(js_cx, js_glob))
+		if((js_glob=js_CreateGlobalObject(&cfg, js_cx))==NULL)
 			break;
 
 		if (!JS_DefineFunctions(js_cx, js_glob, js_global_functions))
@@ -705,8 +696,9 @@ void input_thread(void *arg)
 		if(sbbs->rio_abortable 
 			&& !(sbbs->telnet_mode&(TELNET_MODE_BIN_RX|TELNET_MODE_GATE))
 			&& memchr(wrbuf, 3, wr)) {	
-    		lprintf("Node %d Ctrl-C hit with %lu bytes in output buffer"
-				,sbbs->cfg.node_num,RingBufFull(&sbbs->outbuf));
+			if(RingBufFull(&sbbs->outbuf))
+    			lprintf("Node %d Ctrl-C hit with %lu bytes in output buffer"
+					,sbbs->cfg.node_num,RingBufFull(&sbbs->outbuf));
 			sbbs->sys_status|=SS_ABORT;
     		RingBufReInit(&sbbs->outbuf);	/* Flush output buffer */
 		}
-- 
GitLab