• src/sbbs3/scfg/scfgmsg.c

    From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Jul 18 22:02:56 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e75f7c0b8aca24046c1a5d0a
    Modified Files:
    src/sbbs3/scfg/scfgmsg.c
    Log Message:
    SCFG: apply the full sub record when importing *subs.ini

    read_sub_ini_section() parses every field of a sub-board from the .ini
    section, but the import copy-back only ran the generic identity-only path (code, names, newsgroup, area_tag, data_dir). So *subs.ini import
    silently dropped the access-requirement strings, settings flags, print
    modes, QWK conference number, max-message limits, taglines, post
    semaphore, and FidoNet address - defeating the purpose of a format meant
    to carry complete sub-board configuration between BBSes.

    Introduced in reef-31-feed (cfb32e03f5), which added *subs.ini import but
    never extended the copy-back to apply the fuller parsed record.

    Route *subs.ini through the same field-by-field copy as subs.txt (added
    in the previous commit), plus the fields the .ini format carries that the legacy text format can't: qwk_conf, print_mode, print_mode_neg, and
    area_tag. ptridx stays preserved for both.

    As a side effect, *subs.ini import no longer applies the "long name
    contains 'sysop' and 'only' -> append SYSOP to the access requirements" heuristic; that inference is for formats with no ARS field, whereas
    *subs.ini carries the access requirements explicitly.

    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)