- Mar 03, 2022
-
-
Rob Swindell authored
So this started with addressing CID 174264: Big parameter passed by value (PASS_BY_VALUE), but then I fell down the constification rabbit hole. :-)
-
- Feb 11, 2022
-
-
Deucе authored
This will allow naming consistency in encode/* This is the fix you're looking for Keyop. :)
-
- Apr 04, 2021
-
-
Rob Swindell authored
This won't impact Synchronet as it has a separate signal handling thread, but we still need to behave properly for processes that don't. I'm also saying that ENOMEM does not indicate a disconnection, though it may be better to pretend it was disconnected...
-
- Mar 04, 2021
-
-
Rob Swindell authored
There were 2 bug identified by issue #230: - the "Fwd:" prefix being added to the message subject was being treated as a filename. I first thought to just remove this subject tag, but then thought it best to just ignore obviously invalid filenames in the subject in the first place. - when forwarding files to a netmail address, the 'to' extension (user number) is 0, so the file will be in the data/file/####.out directory of the sender instead. We have 4 places (at least) where the message subjects are parsed and only one of those places currently supports quoted filenames (e.g. with spaces in them) and some of the others (e.g. QWK) don't support multiple filenames at all. That should be fixed.
-
- Feb 15, 2021
-
-
Rob Swindell authored
Reverted the SAFECOPY() NULL source-pointer magic "(null)" string thing as that caused a different Coverity issue. Explicitly check for NULL at the call-sites instead.
-
Rob Swindell authored
Reverted the SAFECOPY() NULL source-pointer magic "(null)" string thing as that caused a different Coverity issue. Explicitly check for NULL at the call-sites instead.
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
- Jan 21, 2021
-
-
Rob Swindell authored
Don't display at all if smb_getplaintext() returns a blank string. Don't display "(null)" if there's no text sub-type.
-
- Dec 20, 2020
-
-
Rob Swindell authored
-
- Dec 10, 2020
-
-
Rob Swindell authored
Since we're calling smb_getplaintext() manually here, and its not going to return the comment headers as part of the plain-text (the way smb_getmsgtxt() can), so we need to display find/display the comment headers first.
-
- Dec 09, 2020
-
-
Rob Swindell authored
Copy some code from atcodes.cpp to show all the aux and network attributes. Also, the MsgAttr text.dat string only contains 17 %s's but we were passing 18, so the last attribute (KillSent) would never be shown. Instead, split this into 3 strings and just pass those 3 strings to the MsgAttr format string along with a ton of blank strings. So we don't have to keep updating the MsgAttr text.dat string every time we add more attribute flags (that was kind of ridiculous).
-
- Sep 27, 2020
-
-
Rob Swindell authored
The return value of getlastmsg() is displayed as the total messages in a sub-board when scanning subs. For sub-boards that allow voting, use the new smb_msg_count() function to determine the number of displayable messages.
-
- Aug 16, 2020
-
-
Rob Swindell authored
-
- May 08, 2020
-
-
rswindell authored
- hot spots are clickable screen areas (e.g. in menus and prompts) that generate key-strokes - commands may be from 1 to 127 ASCII-characters in length - currently using the X10 mouse reporting mode, may change - all mnemonics strings (~Example) are automatically hot-spots - The new ~ @-code defines a hot spot - Any screen-clear operation clears all hot spots - sbbs now tracks the current screen (cursor position) row - eliminated the old "tos" (top-of-screen) boolean (row == 0 indicates "tos") - created an sbbs_t::ungetstr() method - keep track if in pause (hit a key) prompt, for special mouse behavior new JS console object: - row property - tos property is now read-only (and deprecated) - new methods: add_hotspot() clear_hotspots() scroll_hotspots() redrwstr() gets some UTF8 touch-ups as part of this commit. <shrug>
-
- Oct 08, 2019
-
-
rswindell authored
Don't suppress the display of the "from network address" just because there's an '@' in the "from name" - some Internet email (e.g. SPAM) "From" names include '@'s to try and follow the reader. <sigh>
-
- Aug 24, 2019
-
-
rswindell authored
wrapper for utf8_normalize_str() and utf8_replace_chars with the proper arguments. This will fix *a* problem with UTF-8 message not being converted to CP437 in QWK packets correctly (we were just normalizing, not fully converting). Also got rid of the defunct DLLCALL usage str_util.c
-
- Aug 17, 2019
-
-
rswindell authored
characters in message headers and body text will be converted to CP437. Also include a new field in HEADERS.DAT: utf8 = true/false to indicate that the message headers and body text contain UTF-8 encoding (not CP437).
-
- Aug 08, 2019
- Aug 07, 2019
-
-
rswindell authored
can't use it as an argument to sprintf(str, ...) Also, use getfname()... more.
-
- Aug 04, 2019
-
-
rswindell authored
- bstrlen() moved to sbbs_t, accepts an option pmode argument so it can account for UTF-8 encoded strings correctly - JS console.strlen() now accepts an optional pmode argument (e.g. P_UTF8) - Renamed sbbs_t::utf8_to_cp437 to sbbs_t::print_utf8_as_cp437 - Create/use msghdr_hfield() to perform UTF-8->CP437 conversions as needed for printing/copying UTF-8 encoded message header fields. - Defined XTRN_UTF8 misc setting flag. If a message editor does *not* have this flag, it is assumed to *not* support UTF-8. Will likely use this for UTF-8 doors as some point too (none known to exist, yet).
-
- Aug 03, 2019
-
-
rswindell authored
show_msghdr()
-
rswindell authored
flag in the message header. When displaying message header fields containing UTF-8 using show_msghdr() with text.dat string or with msghdr.asc and @-codes, do the "dance" to be sure it's displayed correctly depending on the user's terminal (UTF-8 or not).
-
- Aug 01, 2019
-
-
rswindell authored
to putmg() when displaying messages in the sub on the terminal server. E.g. to disable word-wrap for *all* messages displayed in a sub, set P_WORDWRAP in sub_t.n_pmode.
-
- Jul 30, 2019
-
-
rswindell authored
-
- Jul 26, 2019
-
-
rswindell authored
support in putmsg/printfile, etc. on per-use basis. Add per-sub-board P-mode flags (so "Extra Attribute Codes" can be disabled on a per-sub-board basis).
-
- Jul 06, 2019
-
-
rswindell authored
with ZWNBSP/BOM UTF-8 sequence) and messages (with the "CHRS: UTF-8" FTN control paragra or MIME "charset=utf-8" parts). Not all UNICODE codepoints are supported (obviously). Tested with various files from ftp://columbia.edu/kermit/charsets/ (e.g. test.utf8, utf8-boxes.txt)
-
- May 04, 2019
-
-
rswindell authored
to a text/html part of a multi-part MIME encoded message if no text/plain part exists. Changed smbmsg_t.charset to smbmsg_t.text_charset. Added smbmsg_t.text_subtype (e.g. "plain" or "html"). Fixed issue with parsing parsed plain-text when the charset was the last element of the MIME-part header. MIMEDecodedPlainTextFmt text.dat line now includes the text sub-type arg
-
- May 03, 2019
-
-
rswindell authored
as well as the auxattr "Attach" when either FILEATTACH or MIMEATTACH is set (requires an updated MsgAttr line in text.dat).
-
- May 02, 2019
-
-
rswindell authored
Expanded codes will not *not* go beyond the terminal column width (minus 1). If you need the old/wrap behavior, add a "-W" modifier to your @-code. If a length value is specified with -W, it is ignored. - MSG_TO, MSG_FROM, MSG_SUBJECT now reflect the header values passed to sbbs_t::show_msghdr(), JS bbs.show_msg_header() and not necessarily the actual stored (e.g. MIME-encoded) header values. New codes: - MSG_CC - reflect a message's CC list, if it has one - DATETIMEZONE - combines DATETIME and TIMEZONE in one string
-
rswindell authored
used to display a CC list, when applicable.
-
rswindell authored
-
rswindell authored
show_msghdr(), over-riding the values from the passed smbmsg_t. This is useful for, say, displaying MIME-decoded values rather than the MIME-encoded versions of the header fields that you often find in email today.
-
- Apr 30, 2019
-
-
rswindell authored
Renamed MIMEDecodedPlainText to MIMEDecodedPlainTextFmt (since it is now a printf-style format string). No special handling of non US-ASCII (e.g. UTF-8) characters... yet.
-
- Apr 11, 2019
-
-
rswindell authored
console.msghdr_top_of_screen): a hack to let scripts know whether the most-recently displayed message header was displayed on the top of the terminal screen (or not). This allows us to show avatars at the top of the screen when the header is up there, rather than relevative to the bottom of the header (the pos can vary, depending on stuff).
-
- Apr 10, 2019
- Mar 24, 2019
-
-
rswindell authored
- bbs.show_msg() - bbs.show_msg_header() Re-worked the JS bbs.netmail() implementation sbbs::show_msg(), show_msghdr(), msgtotxt() now take an smb_t* argument (don't use the pseudo-global 'smb' in these functions any longer) sbbs_t::putmsg() and JS console.putmsg() now accept an optional orig_columns argument to specify the original column width of a text for intelligent re-word-wrapping (e.g. as taken from a message header field). Previously, the original-column value was hard-coded to 80 columns (technically, 79). sbbs_t::show_msghdr() no longer sends a CRLF if the cursor is already at the top-of-screen (TOS). sbbs_t::show_msg() now uses the stored "columns" msg header fields to pass to putmsg() to intelligently re-word-wrap message bodies for display. sbbs_t::show_msg() and msgtotxt() return bool now instead of void. JS MsgBase.get_all_msg_headers() now supports an optional "expand_fields" argument (defaults to true). I contemplated just getting rid of the (few) expanding header fields (more like default-value-header fields, like 'id'), but decided against it, at least for now. JS MsgBase.put_msg_header(), the "number_or_offset" argument is optional and not needed if a header object argument is provided. Make this clear in this JS docs for this method Note: I sat on this commit for a while because I noticed occasional errors like this: Node 1 <Digital Man> !ERROR 2 (No such file or directory) (WinError 0) in readmsgs.cpp line 217 (sbbs_t::loadposts) locking "path/to/sub" access=-100 info=smb_locksmbhdr msgbase not open started cropping up after introducing these changes and which I never root-caused. But after a clean-build and waiting a week, I haven't seen it again, so hopefully it was just a incomplete rebuild issue and not a new bug.
-