• src/sbbs3/chat.cpp

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat Mar 23 17:19:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/39934b3b272b55412a3e211c
    Modified Files:
    src/sbbs3/chat.cpp
    Log Message:
    Fix CID 33725: Use after close

    ---
    � 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 Mon Apr 22 23:13:05 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/750bea33377fd220b013db96
    Modified Files:
    src/sbbs3/chat.cpp
    Log Message:
    Don't allow sysops to page or send messages to nodes without a useron

    Fix a long standing bug where by sysops could page for chat or send node messages or telegrams to any node, even if there wasn't a user even connected.

    Regular users were not affected by this bug.

    ---
    � 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 Sat Apr 27 17:03:51 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/d672f39b4592c71f1d0a2fbd
    Modified Files:
    src/sbbs3/chat.cpp
    Log Message:
    Use bool type to eliminate MSVC warning

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Thu Sep 17 17:49:48 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/ac94b066213538a0ef8d91aa
    Modified Files:
    src/sbbs3/chat.cpp
    Log Message:
    Don't send unsupported key-strokes (e.g. ESC) to the chat partner

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Thu Sep 17 20:42:28 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/0e76bac12f80dc5c680e751b
    Modified Files:
    src/sbbs3/chat.cpp
    Log Message:
    strcpy() -> SAFECOPY()

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Thu Sep 17 21:02:43 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/c9e4cb7916a170361c440222
    Modified Files:
    src/sbbs3/chat.cpp
    Log Message:
    Fix an off-by-one line bug in the "local side" of the split-screen-chat.

    This bug would cause the split-screen separator to repeat when the local
    side scrolled (if the terminal was 24 rows, bug didn't happen when local
    screen was 25 rows).

    This bug appears to have "always" been there. The split-screen separator is
    80 columns, so that forced a line wrap on the subsequent CRLF and the local_y value was "off-by-one". Just use ansi_gotoxy() instead and put the cursor
    where you think it is.

    Also, support > 24 row terminals for longer chat history (bottom half only).

    ---
    ■ 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 Fri May 29 02:00:51 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/2a0ee8dd1af8b0aad31440fb
    Modified Files:
    src/sbbs3/chat.cpp
    Log Message:
    chat.cpp: hoist declarations to satisfy GCC's "goto crosses init" rule

    Build broke on GCC (linux-x64 CI) in chat_llm_session() and chat_llm_multinode_turn() -- introduced in 683147f9c -- because the
    gotos to js_done / mt_done / cleanup labels skipped past
    initializations of local variables that were still in scope at the
    label. MSVC accepts this with at most a warning; GCC errors.

    Fixes:
    - chat_llm_session(): hoisted `bool supports_utf8` above any
    `goto cleanup`. Hoisted `double speed_factor` / `bool sim_typos`
    to the top of the JS_BEGINREQUEST block, above any `goto js_done`
    from within (they were below the gotos but in the same scope as
    the label).
    - chat_llm_multinode_turn(): hoisted `bool supports_utf8` above any
    `goto mt_done`. Wrapped the `JSString* input_str` / `jsval
    chat_args[]` declarations in an inner brace block so they fall
    out of scope before `mt_done:` instead of straddling it.

    Verified locally by single-file MSVC build of chat.cpp (0 errors,
    0 warnings). Structural fix targets exactly the cross-init errors
    GCC reported.

    CI failure: https://gitlab.synchro.net/main/sbbs/-/jobs/1509516

    Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>

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