• src/sbbs3/jsexec.cpp load_cfg.c

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thu Jan 1 18:04:26 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/115af6c10653ba0ff98345b4
    Modified Files:
    src/sbbs3/jsexec.cpp load_cfg.c
    Log Message:
    Require a successful config load by jsexec, by default (-U to disable)

    The old -R (to force the required config load) is still supported just for backward compatibility, but effectively does nothing.

    The new -U option is really just used for the one special upgrade scenario: going from v3.19 or earlier to v3.20 or later.

    So now... when upgrading from Synchronet v3.19 or earlier to v3.20 or later, sysops will need to run 'jsexec -U update.js'. All other uses of jsexec (including updates between all other versions) should not need the -U option.

    If you're already running v3.20 or later: you don't need to change anything.

    load_cfg() now does the all the prep (e.g. of dirs/paths) even when config files fail to load in this case.

    This fixes the segfault seen when running jsexec with a mismatched [lib]sbbs [.so|.dll]. If load_cfg() fails, don't continue on.

    Also, if a successful config load is not required (the -U option was used), don't print any load_cfg() warnings either (just noise in that case).

    Also fix the exception in jsexec-win32 when calling lprintf() to print the load_cfg warning (if any) before the output_mutex was initialized.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net