• src/sbbs3/getkey.cpp

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wed Nov 22 15:30:20 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/94fe4232d00189c225b4fd1e
    Modified Files:
    src/sbbs3/getkey.cpp
    Log Message:
    Fix CID 469138

    getkeys() is actually never (currently) called with a NULL arg, so this
    could not actually occur, but better to prepare for that eventuality.

    This looks like a case of not following the YAGNI principle.

    ---
    ■ 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 Aug 3 19:58:06 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/6cbc54eb7026741e89ede75f
    Modified Files:
    src/sbbs3/getkey.cpp
    Log Message:
    Better support for a blank ("") text.dat AreYouThere string

    If a sysop doesn't want this warning to do anything, then no need to save
    and restore the current (last displayed) line of text.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Oct 22 22:13:17 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/cd144bbe616fa7e325898068
    Modified Files:
    src/sbbs3/getkey.cpp
    Log Message:
    Expand tildes in mnemonics strings that conain non-attr Ctrl-A codes

    Fix for issue #800

    ---
    ■ 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 Sun Dec 22 00:50:13 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/e0931d6dc261335a14e6b54c
    Modified Files:
    src/sbbs3/getkey.cpp
    Log Message:
    Fix issue when receiving node messages while using down-arrow at pause prompt

    Hitting down-arrow key at a pause prompt normally displaye just one more line of the display text/file, but if you received a node message/telegram/notice after hitting down arrow, you'd get a screen full of text instead of just a single (one more) line, as you wanted.

    This looks to be because of the anti-recursive protection implemented in pause() - when it calls nodesync() after the key press, that displays
    node/user messages (if there are any) and if pause is called as a result
    (e.g. because the line counter was already set to cause a pause after the
    next line of output), it'd do nothing since that would be recursive. The fix
    is to simply set the line counter as a result of the down-arrow key press *after* the call to nodesync(), which might display multiple lines, but I
    think that's fine.

    ---
    ■ 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 Wed Jan 1 15:08:34 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c0e79057b4db0bdb35509b12
    Modified Files:
    src/sbbs3/getkey.cpp
    Log Message:
    Ust TERM_KEY_DOWN instead of (non-obvious) LF macro

    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 Sun Mar 1 16:14:33 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/788e786e1b75b5ad7a8e9f44
    Modified Files:
    src/sbbs3/getkey.cpp
    Log Message:
    Log a warning message if a duplicate mnemonic/cmd key is found

    ... in a mnemonic string passed to sbbs_t::mnemonics()

    This could happen due to translation/localization conflicts
    with hard-coded command keys.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Oct 30 19:20:41 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/7839b5d1a0c691ba3f5964b8
    Modified Files:
    src/sbbs3/getkey.cpp
    Log Message:
    getkey: erase the spinning cursor when aborted while waiting for input

    When an abort (e.g. Ctrl-C) arrived while getkey() was waiting in inkey()
    with a spinning cursor (K_SPIN), getkey() returned without erasing the
    spinner. Only the abort check at the top of the loop erased it. pause()
    then backspaced over its prompt using the prompt's own length, so the
    first of those backspaces was spent on the spinner and the prompt's first character (e.g. the '[' of "[Hit a key]") was left on the screen.

    Loop back to the top-of-loop abort check instead, which erases the
    spinner before returning.

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

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