• DDMsgReader: Added "indexed" reader mode and made a fix to print utf-8

    From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, April 04, 2023 14:32:53
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/278#note_3435

    Where's the actual UTF-8 bug fix in this commit?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Eric Oulashin@VERT to GitLab note in main/sbbs on Tuesday, April 04, 2023 14:47:20
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/278#note_3436

    I saw that msglist.js had the msg_pmode() function, so I copied that to DDMsgReader.js:
    ```
    function msg_pmode(pMsgbase, pMsgHdr)
    {
    var pmode = pMsgHdr.hasOwnProperty("is_utf8") && pMsgHdr.is_utf8 ? P_UTF8 : P_NONE;
    if (pMsgHdr.from_ext !== "1")
    pmode |= P_NOATCODES;
    if (pMsgbase.cfg)
    {
    pmode |= pMsgbase.cfg.print_mode;
    pmode &= ~pMsgbase.cfg.print_mode_neg;
    }
    return pmode;
    }
    ```
    That's called on line 15672: retObj.pmode = msg_pmode(msgbase, pMsgHdr);

    For the scrollable interface (for ANSI), that value ends up getting passed to the scrollTextLines() function, as an optional parameter. And then the pmode value is passed to console.print(), as on line 16923:
    `console.print(pTxtAttrib + pTxtLines[lineIdx], typeof(pmode) === "number" ? pmode|P_NOATCODES : P_NOATCODES);`

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