From 2f23d9d85376eff1a966ad6ed5a26c59b68d8ff3 Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Debian Linux)" <rob@synchro.net>
Date: Fri, 25 Apr 2025 12:01:20 -0700
Subject: [PATCH] Load ctrl/modopts/module-suffix.ini instead of
 ctrl/modopts/module:suffix.ini

Colons are problematic in Windows filenames, so convert colon to dash, if
provided in the modname (e.g. qnet-ftp:qwk-id).

Also noticed the default option value didn't work for ctrl/modopts/*.ini files
(when requesting one specific property) - fixed that.
---
 exec/load/modopts.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/exec/load/modopts.js b/exec/load/modopts.js
index 7530c9f2a9..4167593d5b 100644
--- a/exec/load/modopts.js
+++ b/exec/load/modopts.js
@@ -40,7 +40,7 @@
 "use strict";
 function get_mod_options(modname, optname, default_optval)
 {
-	var ini_file = new File(system.ctrl_dir + "modopts/" + modname + ".ini");
+	var ini_file = new File(system.ctrl_dir + "modopts/" + modname.replace(":", "-") + ".ini");
 	if(ini_file.open("r")) {
 		var obj = ini_file.iniGetObject(/* lowercase */false, /* blanks: */true);
 		var sections = ini_file.iniGetSections();
@@ -54,7 +54,7 @@ function get_mod_options(modname, optname, default_optval)
 		}
 		ini_file.close();
 		if(optname)
-			return obj[optname];
+			return (obj[optname] === undefined) ? default_optval : obj[optname];
 		return obj;
 	}
 	ini_file = new File(file_cfgname(system.ctrl_dir, "modopts.ini"));
-- 
GitLab