• src/sbbs3/terminal.h

    From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Jan 10 20:48:55 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/7bbb461d97f0a09c8e2bda7a
    Modified Files:
    src/sbbs3/terminal.h
    Log Message:
    Terminal::center() now adheres to the P_TRUNCATE mode (when passed in)

    We weren't use the other optional arguments (msg and cols), so get rid of that API contract and make a new one: the pmode flags can now (optionally) be
    passed to center(), defaulting to a mode of 0. And always use bputs() instead of putmsg() for printing the string (as was always being done anyway since nothing ever passed true for the 'msg' parameter).

    This fixes the issue of a msg/menu/display file that use the TRUNCATE @-code along with the CENTER @-code and got forced terminal-wrapped output anyway.
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Jan 29 22:43:32 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/37cb8b51aea480d973f8978c
    Modified Files:
    src/sbbs3/terminal.h
    Log Message:
    bstrlen() handles more control chars (\b, \r, \n) and ^A[, ^A] and ^A/

    ^A/ isn't exact here since it really needs to compare against the output
    column (which could auto-wrap when long), not the counted display width, but it's more accurate than ignoring it.

    I tested it like this (from within the BBS):

    - console.strlen("testx\r\ntest1234")
    Result (number): 5

    - console.strlen("testx\rtest1234")
    Result (number): 8

    - console.strlen("testx\x01[test1234")
    Result (number): 8

    Previously, those would produce incorrect numbers like, e.g. 15, 14
    --- SBBSecho 3.35-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)

Novedades:

Servidor de Quake 3 Arena Online! - Conectate a ferchobbs.ddns.net, puerto 27960 y vence con tu equipo!