• src/sbbs3/con_out.cpp

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Saturday, May 25, 2024 12:03:38
    https://gitlab.synchro.net/main/sbbs/-/commit/4df2ae8f16a74cb136787507
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Move the line_delay logic so it has effect on PETSCII terminals too

    Fix issue #759

    ---
    þ 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 Friday, November 15, 2024 18:29:09
    https://gitlab.synchro.net/main/sbbs/-/commit/6135284f950b9bfc6ac3d58b
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    The progress reports (e.g. "[ Done 100.0% ]") should never go to logs

    ---
    þ 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 Friday, January 03, 2025 20:05:41
    https://gitlab.synchro.net/main/sbbs/-/commit/4728536ae5fc6bd4de2e0907
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Fix off-by-one error in sbbs_t::cleartoeol() for non-ANSI terminals

    This was evident by logging in with PETSCII/64col mode and the last ']' of the "Loading message pointers..." progress indicator was left in the first right column of the screen.

    ---
    þ 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 Friday, January 10, 2025 18:20:49
    https://gitlab.synchro.net/main/sbbs/-/commit/a79988ca5e6919a7c2b15a74
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Propagate the non-auto user terminal dimensions to the runtime values, always

    Previously, if either of the user terminal dimensions was set to a auto (0) then we wouldn't propagate the other specific (non-zero) value to the runtime console dimension. Usually a user will set either both values (cols and rows) to 0/auto or neither. So this isn't a oft-used configuration combo.

    ---
    þ 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 Monday, March 03, 2025 14:10:11
    https://gitlab.synchro.net/main/sbbs/-/commit/c7fda9ff39acd9818cbc7f2f
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Remove broken security check for text.dat strings w/@-codes in bputs()

    As Deuce pointed out, the text[] pointers are malloc()'d so they're not necessarily sequential/in-order addresses. Definitely not after
    any text replacements have been made.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, April 10, 2025 22:21:16
    https://gitlab.synchro.net/main/sbbs/-/commit/b55f86216976f0e90d2e4b6d
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Fix test in last commit

    ---
    þ 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 Friday, December 12, 2025 22:22:58
    https://gitlab.synchro.net/main/sbbs/-/commit/ccd2d07571b185459ce51bf3
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Use nested if to help debugging (setting break-points)

    No functional change.

    ---
    þ 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 Friday, December 19, 2025 17:41:47
    https://gitlab.synchro.net/main/sbbs/-/commit/5227728dfd71cfe524ea5966
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Skip the UTF-8 BOM when auto-detected by auto_utf8()

    I think this was the intention of this function always (hence why it returns
    a char*).

    ---
    þ 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 Saturday, January 03, 2026 22:25:58
    https://gitlab.synchro.net/main/sbbs/-/commit/a9c51e9408ff05cdfc9c8918
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Add comment about curious legacy behavior when sending a FF via outchar()

    Cosmetically, the blank line before the screen clear often looks good/best, except when it doesn't. But I'm pretty sure this was originally added to avoid a pause prompt being displayed near the right edge of the screen and possibly wrapping.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Sunday, March 15, 2026 20:35:47
    https://gitlab.synchro.net/main/sbbs/-/commit/15fde4bd32f361dd5a887f08
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Fix infinite loop in cp437_out() TAB expansion

    cp437_out() expands TAB (0x09) by calling term_out(' ') in a loop,
    polling term->column to determine when to stop. When the ANSI parser (parse_output) is mid-sequence Ä e.g. because binary data containing
    ESC was passed through rputs()/console.write() Ä the space is consumed
    by the parser without advancing term->column, causing an infinite loop
    that sends spaces forever and pegs the CPU at 100%.

    Prior to the Terminal class refactor (374282bf81), TAB expansion lived
    in outchar() and used outcom(' ') with manual column++ tracking,
    which was immune to ANSI parser state. The refactor moved it to
    cp437_out() and switched to term_out(), introducing the dependency on parse_output() advancing the column.

    Fix: compute the target column and space count upfront from the current
    column and tabstop, then loop a fixed number of iterations regardless
    of whether term->column actually advances. Also guard against
    tabstop == 0 (would be division by zero in the original modulo check).

    Found by ANSI fuzz testing (termtest.js) sending random byte streams
    containing ESC followed by TAB.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    ---
    þ 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 Monday, March 16, 2026 01:30:02
    https://gitlab.synchro.net/main/sbbs/-/commit/2686d621c9e2fa15e40dcd3b
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Add typecasts to address new GCC warnings

    ---
    þ 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/4f9445b48fda63af8ab7f4d9
    Modified Files:
    src/sbbs3/con_out.cpp
    Log Message:
    Cap progress() output at "100%"

    Fix issue observed from output of sbbs_t::finduserstr() for auto-login via IP apparently enabled at http://themegabbs.ddns.net:2000/

    [ Searching for duplicates... 112.5% ]

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