https://gitlab.synchro.net/main/sbbs/-/commit/60a19b08419a5c491a1a0eb4
Modified Files:
src/sbbs3/putmsg.cpp
Log Message:
Add Wildcat!-style @IFSEC=ars@/@ELSE@/@ENDIF@ conditional display (#941)
Conditional-display blocks for message/file rendering, modeled on Wildcat!'s @IFSEC=Profile@ ... @ELSE@ ... @ENDIF@ construct. The argument is a Synchronet Access Requirement String (e.g. SYSOP, LEVEL40, FLAG1A), not a Wildcat! security-profile name. Both @IFSEC=ars@ and @IFSEC:ars@ are accepted.
Implemented in putmsgfrag alongside the other Wildcat! display-control codes (@STOP@/@NOSTOP@/@NOCODE@), reusing the @SHOW@/@SYSONLY@ CON_ECHO_OFF output-suppression flag (auto-restored when the msg/file finishes rendering). As in Wildcat!, the blocks do not nest, but unlike Wildcat! they may appear anywhere in a line (not only column 0) and share a line with other text/codes.
Verified live: a level-50 reader sees the IFSEC=LEVEL10/LEVEL50 branches and the
@ELSE@ branches of IFSEC=SYSOP/LEVEL90, with @ENDIF@ correctly resuming output.
Co-Authored-By: Claude Opus 4.7 <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)