From 85ba8a7bdad5710f1acd038356848c3d6c65632a Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 30 Oct 2002 10:52:55 +0000
Subject: [PATCH] js_CreateArrayOfStrings will now append an existing array.

---
 src/sbbs3/main.cpp | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index bd5f0bd474..cf6e181c9c 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -242,15 +242,21 @@ DLLCALL js_CreateArrayOfStrings(JSContext* cx, JSObject* parent, const char* nam
 	JSString*	js_str;
 	jsval		val;
 	size_t		i;
+	jsuint		len=0;
 		
-	if((array=JS_NewArrayObject(cx, 0, NULL))==NULL)
-		return(JS_FALSE);
+	if(JS_GetProperty(cx,parent,name,&val) && val!=JSVAL_VOID)
+		array=JSVAL_TO_OBJECT(val);
+	else
+		if((array=JS_NewArrayObject(cx, 0, NULL))==NULL)
+			return(JS_FALSE);
+
+	JS_GetArrayLength(cx, array, &len);
 
 	for(i=0;str[i]!=NULL;i++) {
 		if((js_str = JS_NewStringCopyZ(cx, str[i]))==NULL)
 			break;
 		val = STRING_TO_JSVAL(js_str);
-		if(!JS_SetElement(cx, array, i, &val))
+		if(!JS_SetElement(cx, array, len+i, &val))
 			break;
 	}
 
-- 
GitLab