• More PCBoard @-codes

    From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Wed May 20 21:43:18 2026
    https://gitlab.synchro.net/main/sbbs/-/issues/940#note_8982

    Audited the PCBoard `@`-code list against the Synchronet sources (`atcodes.cpp` value-codes **and** `putmsg.cpp` display-control codes — the latter is easy to miss in an `atcodes.cpp`-only sweep).

    ### Aliases added (`atcodes.cpp`) — codes that already existed under a different name

    | PCBoard code | Synchronet code |
    |---|---|
    | `@PROLTR@` | `@PROT@` |
    | `@PRODESC@` | `@PROTNAME@` / `@PROTOCOL@` |
    | `@CONFNAME@` | `@CONF@` |
    | `@CARRIER@` | `@CONN@` |
    | `@CURMSGNUM@` | `@MSG_NUM@` |

    (Builds clean; commit pending review.)

    ### Already supported — no change needed
    All the action / file-transfer / time / user codes, plus `@QON@` and `@QOFF@` (already implemented in `putmsg.cpp`, marked "(PCBoard)").

    ### Genuinely missing — candidates to add (not aliases; would be new value-codes)
    - `@FILERATIO@` — file-count ratio (only `@BYTERATIO@` exists; could derive from `DLFILES`:`UPFILES`)
    - `@HIGHMSGNUM@` / `@LOWMSGNUM@` / `@LMR@` — `@MSGS@` returns a post *count* only, not high/low/last-read message numbers
    - `@FIRSTU@` — uppercase first name (only `@FIRST@`)

    ### Not applicable to Synchronet's model
    `@NUMBLT@` (PCBoard bulletins), `@OFFHOURS@` (low-speed access window), `@SYSOPIN@` / `@SYSOPOUT@` (configured chat-hours — Synchronet's `@SYSOP@` is just available yes/no), `@INCONF@` (combined conference number + name).
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)