__                 _ _                _
  / _| ___   ___   __| | |__   __ _ _ __| | __
 | |_ / _ \ / _ \ / _` | '_ \ / _` | '__| |/ /
 |  _| (_) | (_) | (_| | |_) | (_| | |  |   <
 |_|  \___/ \___/ \__,_|_.__/ \__,_|_|  |_|\_\

A personal BBS  ·  Missoula, Montana  ·  formerly NaClCON BBS

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • src/sbbs3/putmsg.cpp

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

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