From b2803a40bb3a5b9018d63e8be2d3e8bd0ee17111 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 17 Jul 2001 03:27:06 +0000
Subject: [PATCH] Created "server" object for server-specific version info.

---
 src/sbbs3/main.cpp | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index a73c1618fd..6cd8dc5268 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -272,9 +272,18 @@ js_ErrorReporter(JSContext *cx, const char *message, JSErrorReport *report)
 	}
 }
 
+static JSClass js_server_class = {
+        "TelnetServer",0, 
+        JS_PropertyStub,JS_PropertyStub,JS_PropertyStub,JS_PropertyStub, 
+        JS_EnumerateStub,JS_ResolveStub,JS_ConvertStub,JS_FinalizeStub 
+}; 
+
 bool sbbs_t::js_initcx()
 {
-	char node[128];
+	char		node[128];
+	char		ver[256];
+	jsval		val;
+	JSObject*	server;
 
     if(cfg.node_num)
     	sprintf(node,"Node %d",cfg.node_num);
@@ -323,6 +332,21 @@ bool sbbs_t::js_initcx()
 		if(js_CreateSocketClass(js_cx, js_glob)==NULL)
 			break;
 
+		/* Server Object */
+		if((server=JS_DefineObject(js_cx, js_glob, "server", &js_server_class
+			,NULL,0))==NULL)
+			break;
+
+		sprintf(ver,"%s v%s%c",TELNET_SERVER,VERSION,REVISION);
+		val = STRING_TO_JSVAL(JS_NewStringCopyZ(js_cx, ver));
+		if(!JS_SetProperty(js_cx, server, "version", &val))
+			break;
+
+		val = STRING_TO_JSVAL(JS_NewStringCopyZ(js_cx, bbs_ver()));
+		if(!JS_SetProperty(js_cx, server, "version_detail", &val))
+			break;
+
+
 		success=true;
 
 	} while(0);
@@ -419,6 +443,7 @@ int lprintf(char *fmt, ...)
 
     if(startup==NULL || startup->lputs==NULL)
         return(0);
+
     va_start(argptr,fmt);
     vsprintf(sbuf,fmt,argptr);
     va_end(argptr);
@@ -432,6 +457,7 @@ int eprintf(char *fmt, ...)
 
     if(startup==NULL || startup->event_log==NULL)
         return(0);
+
     va_start(argptr,fmt);
     vsprintf(sbuf,fmt,argptr);
     va_end(argptr);
-- 
GitLab