From 72ed341337c022f313756a6ed65d30b770eadead Mon Sep 17 00:00:00 2001 From: "Rob Swindell (on Windows)" <rob@synchro.net> Date: Sun, 23 Apr 2023 18:56:46 -0700 Subject: [PATCH] Fix: some file_area properties weren't automatically created when enumerated user_dir, sysop_dir, upload_dir, and offline_dir These properties could magically appear later once file_area.[lib|dir|lib_list] was enumerated for the first time. --- src/sbbs3/js_file_area.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/js_file_area.c b/src/sbbs3/js_file_area.c index 54c6d99d8f..5df2bccee8 100644 --- a/src/sbbs3/js_file_area.c +++ b/src/sbbs3/js_file_area.c @@ -250,7 +250,9 @@ JSBool js_file_area_resolve(JSContext* cx, JSObject* areaobj, jsid id) js_CreateArrayOfStrings(cx, areaobj, "_property_desc_list", file_area_prop_desc, JSPROP_READONLY); #endif - if (name==NULL || strcmp(name, "lib")==0 || strcmp(name, "dir")==0 || strcmp(name, "lib_list")==0) { + if (name==NULL || strcmp(name, "lib")==0 || strcmp(name, "dir")==0 || strcmp(name, "lib_list")==0 + || strcmp(name, "user_dir")==0 || strcmp(name, "sysop_dir")==0 || strcmp(name, "upload_dir")==0 + || strcmp(name, "offline_dir")==0) { if(name) FREE_AND_NULL(name); if((alllibs=JS_NewObject(cx, NULL, NULL, areaobj))==NULL) @@ -393,7 +395,7 @@ JSBool js_file_area_resolve(JSContext* cx, JSObject* areaobj, jsid id) ,NULL,NULL,JSPROP_READONLY)) return JS_FALSE; - if(d==p->cfg->upload_dir + if(d==p->cfg->upload_dir && !JS_DefineProperty(cx, areaobj, "upload_dir", val ,NULL,NULL,JSPROP_READONLY)) return JS_FALSE; -- GitLab