• src/sbbs3/putmsg.cpp

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Thursday, May 21, 2026 22:14:12
    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)