Files
Ken Johnson 9d1dc3b605 0.0.9: SYN2 Layer-2 area-catalog reader (FILE.CNF + MSGS.CNF)
Lands the v0.0.8 handoff's #1 priority: a streaming binary
reader for Synchronet v2's CTRL/FILE.CNF (file libs + dirs)
and CTRL/MSGS.CNF (msg groups + subs), so SYN2 sites are
enumerated from their authoritative on-disk config rather
than the v0.0.8 filesystem-scan crutch.

bbs.fmt.syn.v2.areacfg walks SCFGLIB2.C:23-491 + SCFGLIB1.C:444-717
byte-for-byte, skipping the variable-length leading sections
(fextr/fcomp/fview/ftest/dlevent/prots/altpaths) so the offset
of total_libs/total_dirs lands correctly regardless of how
many of each leading type the sysop configured.  Per-dir and
per-sub path fields are read RAW; consumers resolve substitutions
via Syn2DirResolvedPath / Syn2SubResolvedDir against the MAIN.CNF
data_dir (vendor's data_dir_dirs / data_dir_subs behaviour).

TSyn2Base.DoOpen lazy-loads both files; DoListFileAreas /
DoListMsgAreas prefer the parsed catalog when present and
fall back to the filesystem scan for hand-fed installs.
TSyn2MsgArea.DoLoad now populates FInfo (was an empty stub).

21 new tests cover FILE.CNF round-trip with multi-lib /
multi-dir, MSGS.CNF round-trip, end-to-end TSyn2Base
integration with MAIN.CNF data_dir resolution, and
filesystem-scan backwards compatibility.  All 395 tests pass
across all 6 cross-targets.
2026-04-25 07:24:21 -07:00
..
2026-04-18 21:45:02 -07:00