Subj : src/sbbs3/jsexec.c To : Git commit to main/sbbs/master From : Rob Swindell (on Windows) Date : Tue Aug 08 2023 05:43 pm https://gitlab.synchro.net/main/sbbs/-/commit/40995ce1868fdb8cdbacf2a6 Modified Files: src/sbbs3/jsexec.c Log Message: Insure the exec_dir is *always* prepped (fix for Windows upgrade to v3.20) A "prepped" means directory means a relative path from the configuration files (or default settings) has been converted to a full/absolute path with proper slashes for the platform (i.e. backslashes instead of forward-slashes on Windows). JSexec doesn't require that the new v3.20 ctrl/*.ini files exist to run; this was necessary to be able to run 'jsexec update -> upgrade_to_v320.js' which does the ctrl/*.cnf to .ini file conversion (egg not required to build chicken). When JSexec failed to load ctrl/msgs.ini (e.g. "!ERROR loading configuration files: 2 (No such file or directory) opening /sbbs/ctrl\msgs.ini"), it would continue to run, but not "prep" any of the "path" settings (e.g. exec_dir). The first run of 'jsexec update.js' would fail to run upgrade_to_v320.exe (which does the v3.20 user base conversion) and a bunch of other (but not as important) update steps because Windows couldn't execute "../exec/*". Multiple errors would be displayed in this case, but the most important (as reported by Ree in #synchronet of irc.synchro.net) was: '..' is not recognized as an internal or external command right after the status output: No v3.20 user base found, running ../exec/upgrade_to_v320 Notice the "../exec/" prefix, which is not support by Windows when specifying a file path to execute. A second run of 'jsexec update' would work fine because the new v3.20 .ini files would be successfully created after the first run (though the user base was not). This is likely the same issue that MRO reported recently when upgrading a Windows SBBS v3.19 install to v3.20 and not having the user base upgraded the first time. .