From f68a24d61b8126de4b653bb6327d042aeac1b51b Mon Sep 17 00:00:00 2001 From: "Rob Swindell (on Debian Linux)" <rob@synchro.net> Date: Tue, 20 Feb 2024 23:54:56 -0800 Subject: [PATCH] Allow UTF-8 sequences in message subjects (passing K_UTF8 to getstr) This was the behavior for all string input in SBBS until recently (Commit 5dec1519a290b08b), with this change, an exception is being made for message subjects, but the vast majority of other string input is still limited to single-byte (i.e. US-ASCII or CP437) characters. This should fix issue #720 --- src/sbbs3/writemsg.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/writemsg.cpp b/src/sbbs3/writemsg.cpp index 5ec6f86056..3eff43dce6 100644 --- a/src/sbbs3/writemsg.cpp +++ b/src/sbbs3/writemsg.cpp @@ -511,7 +511,7 @@ bool sbbs_t::writemsg(const char *fname, const char *top, char *subj, int mode, max_title_len = LEN_TITLE; if(draft_restored) user_get_property(&cfg, useron.number, draft_desc, "subject", subj, max_title_len); - if(!getstr(subj,max_title_len,mode&WM_FILE ? K_LINE|K_TRIM : K_LINE|K_EDIT|K_AUTODEL|K_TRIM) + if(!getstr(subj,max_title_len,mode&WM_FILE ? K_LINE|K_TRIM : K_LINE|K_EDIT|K_AUTODEL|K_TRIM|K_UTF8) && useron_level && useron.logons) { free(buf); return(false); @@ -1158,7 +1158,7 @@ uint sbbs_t::msgeditor(char *buf, const char *top, char *title, uint maxlines, u else if(!stricmp(strin,"/T")) { /* Edit title/subject */ if(title != nulstr) { // hack bputs(text[SubjectPrompt]); - getstr(title,LEN_TITLE,K_LINE|K_EDIT|K_AUTODEL|K_TRIM); + getstr(title,LEN_TITLE,K_LINE|K_EDIT|K_AUTODEL|K_TRIM|K_UTF8); sync(); CRLF; } @@ -1449,7 +1449,7 @@ bool sbbs_t::forwardmsg(smb_t* smb, smbmsg_t* orgmsg, const char* to, const char else { SAFEPRINTF(subj, "Fwd: %s", orgmsg->subj); bputs(text[SubjectPrompt]); - if(!getstr(subj, sizeof(subj) - 1, K_LINE | K_EDIT | K_AUTODEL | K_TRIM)) + if(!getstr(subj, sizeof(subj) - 1, K_LINE | K_EDIT | K_AUTODEL | K_TRIM | K_UTF8)) return false; } } -- GitLab