From d474410052e6d6022d2b3af406a29024954d708e Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Windows 11)" <rob@synchro.net>
Date: Mon, 10 Feb 2025 20:40:22 -0800
Subject: [PATCH] Use iniGetSectionList() instead of iniReadSectionList()

... in File.iniGetSections() method

because iniReadSectionList() doesn't recognize !include directives.

This fixes issue #871 whereby modopts.js couldn't find sections in
modopts.d/*.ini files.
---
 src/sbbs3/js_file.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c
index 76f1fef0cf..bd64eb7ebf 100644
--- a/src/sbbs3/js_file.c
+++ b/src/sbbs3/js_file.c
@@ -1202,7 +1202,9 @@ js_iniGetSections(JSContext *cx, uintN argc, jsval *arglist)
 	array = JS_NewArrayObject(cx, 0, NULL);
 
 	rc = JS_SUSPENDREQUEST(cx);
-	list = iniReadSectionList(p->fp, prefix);
+	str_list_t ini = iniReadFile(p->fp);
+	list = iniGetSectionList(ini, prefix);
+	strListFree(&ini);
 	FREE_AND_NULL(prefix);
 	JS_RESUMEREQUEST(cx, rc);
 	for (i = 0; list && list[i]; i++) {
-- 
GitLab