• src/sbbs3/str.cpp

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Mon Dec 8 22:27:03 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/d9988229e3a444169168c37f
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    Clean up the sbbs_t::console (JS console.status) bit flags

    Mainly this is renaming CON_R_ECHOX to CON_PASSWORD, but also eliminating several long-unused flags.

    ---
    þ 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 Dec 8 22:38:52 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/6bb344da28b652cd96eb87a3
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    sbbs_t::trashcan() supports the quiet attribute

    Resolve MSVC warning in timestr()

    ---
    þ 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 Jan 3 00:14:09 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9e3ca95d9c966929f720d453
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    Overhaul the gettmplt() (in JS, console.gettemplate) function

    Oh this was (and in some ways is still) oh so broken and has been forever.

    If backspace, DEL, or Ctrl-X was used, the returned string was often not what was being displayed on the terminal when the user hit ENTER. <sigh>

    - Ctrl-X, Backspace and DEL actually clear out the entered text now
    Backspace/DEL don't remove the non-template (e.g. symbol) chars though
    - The left and right arrows keys can now be used to traverse the edited text
    - TAB is now treated the same as CR (much like getstr())
    - When editing a string, the cursor starts at the first character instead of
    the last as this seems much more convenient. Perhaps getstr() should get the
    treatment, but I hesitate because getstr() is used by so many.

    ---
    þ 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 Jan 9 02:24:03 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/808412db3363f14dd56a7a58
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    If the file text/menu/[sub|dir]info.* exists, display it

    ... instead of SubInfo or DirInfo text strings.

    Another couple optional displays file that can be used to replace built-in logic and text strings for easier customization.

    ---
    þ 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 Jan 12 00:51:06 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0953bd8f6d476074c2d5418e
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    A blank line before the View system information file? prompt looks better

    ---
    þ 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 Thu Feb 12 20:24:34 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f6a94c9e0a470a83acda5329
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    replace_text() now supports the text[.*].ini [substr] section

    This allows substring replacements in text.<lang>.ini files, for example, making localization (translations to non-English languages) even more practical.

    ---
    þ 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 Wed May 6 22:36:57 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/fadcfd96c23be40c6487bd48
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    str: explicit truncation cast in spy() char assignment (CID 549016)

    After the 'if (in == NOINP) continue;' check, in is in [0,255], so
    'ch = in' is safe — but Coverity flags it because incom() returns
    int and ch is char. Make the truncation explicit with (char)in to
    silence the analyzer; semantics unchanged.

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

    ---
    ï¿­ 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 Sep 29 15:57:27 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/21736a5bdea48f464fab76c8
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    New-scan time entry: show am/pm in the hour field, drop the pm?/am? question

    On a 12-hour-clock system, the hour field was pre-filled with just the
    hour (e.g. "1" for 1:29 pm), followed by a "pm?" or "am?" yes/no question
    whose default came from the original time. Users read the bare hour as a 24-hour value and ended up with pm when they meant am.

    The hour is now pre-filled with its am/pm (e.g. "1 pm") and accepts
    either an hour of 1-12 with an am or pm suffix ("1 am", "1pm", "1 p") or
    a bare 24-hour value (0-23); the separate question is gone. The suffix is matched by the first letter of the translatable NScanAmQ and NScanPmQ
    text strings, so translations of those must start with different letters.
    Hours over 23 are now rejected in 24-hour mode as well. (#1265)

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

    ---
    þ 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 Sep 29 15:57:27 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/3b827c985cc463f4f4b41fb4
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    New-scan time entry: re-prompt the hour in place

    The date/time entry prompts share one line (Year, Month, Day, Hour,
    Minute). When the hour was rejected, the re-prompt started a new line and repeated the "Hour:" prompt. Instead, erase the rejected input, sound the
    bell, and present the suggested value in the same field. (#1265)

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

    ---
    þ 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 Wed Sep 30 02:44:22 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/df8b8248ed275ccc0c8325f3
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    New-scan hour entry: match am/pm by unique prefix, not first letter

    The hour prompt recognized the am/pm suffix by its first letter alone and tested AM first, so a translation whose AM and PM words begin with the
    same letter could never select PM. The typed suffix must now be one of
    the two words, or the beginning of exactly one of them: "1 p" and "1 pm"
    still work, an abbreviation that fits both words re-prompts, and so does
    a suffix that is neither (e.g. "1 apple", formerly taken as 1 am).

    Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

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