• src/sbbs3/terminal.h

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Saturday, January 10, 2026 20:48:55
    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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 29, 2026 22:43:32
    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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sunday, February 08, 2026 08:15:07
    https://gitlab.synchro.net/main/sbbs/-/commit/3d66bb854dd5ca849a1d9ac1
    Modified Files:
    src/sbbs3/terminal.h
    Log Message:
    bstrlen() now supports (e.g. parses/ignores) extra attribute codes

    e.g. PCBoard, Wildcat, etc.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sunday, March 22, 2026 19:58:15
    https://gitlab.synchro.net/main/sbbs/-/commit/66152ce84afaa28f0f701a06
    Modified Files:
    src/sbbs3/terminal.h
    Log Message:
    Implement cleartoeol() in base (dumb) terminal implementation

    At the point that finduserstr(0, USER_IPADDR, client_ipaddr) is called from answer(), the terminal object is still the base/dumb terminal object, which
    did not have "clear to end of line" implemented, so the default SearchedForDupes string (which uses Ctrl-A> to clear to EOL) did not work. Another regression from the New Terminal Abstraction.

    This might be "off-by-one" and force a terminal wrap when writing to the last column, but I didn't observe that happen with SyncTERM.

    This fixes the "[ Searching for duplicates ... xxx% ]" text left on the screen before the login prompt when "Auto-login via IP" is enabled, as observed at
    http://themegabbs.ddns.net:2000/

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