• src/sbbs3/writemsg.cpp con_hi.cpp con_out.cpp getkey.cpp getstr.cpp msgtoqwk.cpp putmsg.cpp qwktomsg.cpp sbbs.h sbbsdefs.h un_q

    From rswindell@VERT to CVS commit on Wednesday, July 24, 2019 05:00:10
    src/sbbs3 writemsg.cpp 1.162 1.163 con_hi.cpp 1.27 1.28 con_out.cpp 1.113 1.114 getkey.cpp 1.55 1.56 getstr.cpp 1.36 1.37 msgtoqwk.cpp 1.56 1.57 putmsg.cpp 1.51 1.52 qwktomsg.cpp 1.71 1.72 sbbs.h 1.533 1.534 sbbsdefs.h 1.244 1.245 un_qwk.cpp 1.57 1.58
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv14793

    Modified Files:
    writemsg.cpp con_hi.cpp con_out.cpp getkey.cpp getstr.cpp
    msgtoqwk.cpp putmsg.cpp qwktomsg.cpp sbbs.h sbbsdefs.h
    un_qwk.cpp
    Log Message:
    More UTF-8 goodness:

    - Export all FIDOCTRL (other FTN kludge lines) to the QWK HEADERS.DAT file.
    These should already be imported if they exist, but were never added during
    export, so untested/new behavior. The control paragraph (kludge line) of
    specific interest here is the "CHRS" (charset) kludge we need for UTF-8.

    - Don't use the QWK "newline" character (0xE3) when the message is UTF-8.
    Use bare-LF's instead. This is pretty untested at this point as I will need
    another QWKnet board to post or receive UTF-8 encoded messages to test,
    getting the code into CVS is the first step. At least for now, there's no
    opt-in/out for this behavior. If your BBS has UTF-8 encoded messages, some
    QWK nodes or offline readers may have trouble with packets which include
    those messages. Or they may work fine (but likely display garbage CP437
    chars in-place of the proper Unicode codepoint glyph).

    - The beginning of UTF-8 input support in getstr() - which needs more work,
    particularly around character and word deletion and insertion.
    - The internal message editor now supports UTF-8 messages and kind of somewhat
    supports inputting UTF-8 characters in message text.

    New put/print text flag: P_AUTO_UTF8 which can auto-detect UTF8 strings and
    do the "right thing" for the user's terminal. New associated sbbs_t method: auto_utf8() which automatically sets P_UTF8 for any stirng that begins with
    a UTF-8 BOM (ZWNBSP). Else, if the P_AUTO_UTF8 mode flag is set, then
    it checks to see if the string contains invalid US-ASCII chars but valid UTF-8 sequences and then sets P_UTF8 accordingly. Used by putmsg() and bputs().

    There's a new permuation of bprintf() which accepts a mode argument
    (i.e. for P_UTF8) and passes it on to the new mode-capable bputs().


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