• src/sbbs3/getmsg.cpp wordwrap.c wordwrap.h

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Oct 13 23:29:30 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/6efa6ab16a9bfaba7d73a05b
    Modified Files:
    src/sbbs3/getmsg.cpp wordwrap.c wordwrap.h
    Log Message:
    Word-wrap message text that contains only ANSI color codes

    The terminal server's message reader disabled word-wrapping for any
    message body containing "ESC[", to avoid mangling ANSI art. A single
    color code anywhere in a message was enough to leave every paragraph
    unwrapped. Krystal BBS Software, for example, stores each paragraph as
    one long line and colors the quoted-reply header with an ANSI sequence,
    so its posts displayed as overlong lines.

    Now only text with non-SGR control sequences (e.g. cursor positioning)
    or incomplete sequences is left unwrapped; color-only text is wrapped.

    wordwrap() also now treats complete ANSI CSI sequences as zero-width
    (as it already did Ctrl-A codes), rather than counting their bytes as
    columns, which broke lines containing color codes too early. This
    affects all wordwrap() callers: message display, quoting, QWK export re-wrapping, and the JS word_wrap() function.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net