- Nov 05, 2024
-
-
Rob Swindell authored
A few extra bytes really helps with human readability.
-
Rob Swindell authored
True, a sysop could add/configure a monthly timed event instead, but that requires more configuration. Fixed events are nice in their simplicity. This is intended for running the new Synchronet trashman utility, but could be used for anything that's simple to execute and the sysop: - doesn't care which node/instance of sbbs it runs from - doesn't care exactly what time the event runs - doesn't need the assorted options available for timed events
-
Deucе authored
Remove undefined behaviour (right-shifting a negative integer) from the scaler... replace with divide-by-2. Any modern compiler should be able to optimize that. On the enabling the compiler front, const-ify more variables and use types that allow removing some casts. I have a bit more hope this will fix the macOS issue than the previous efforts.
-
Deucе authored
Not sure what macOS is doing, but it looks like something weird is happening in interpolate_width... maybe some unexpected integer promotion?
-
Rob Swindell authored
* Allow left and right arrow keys to move between lines (within reason) * Use the K_USEOFFSET getstr() mode flag to keep cursor position when moving between lines with arrow keys * Be smart about integer padding when /Listing lines with numbers * Add range checking (!) and better error reporting for /Lx argument value
-
Rob Swindell authored
Fixes a couple CIDs and a GCC warning
-
Rob Swindell authored
for getstr() to be able to return when user right-arrows off end of string (for use in msgeditor).
-
- Nov 04, 2024
-
-
Deucе authored
-
Deucе authored
CCl4 sends an ENQ character in the login screen, and sends an ENQ which will auto-fill your username. Also, if you enter six zeros into the username, it will take you to the password field. With ten zeros, this means it's impossible to log in to CCl4.
-
Deucе authored
Fixes Night Owl
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
And have it return bool, like the others. The error logging is different (not using errormsg), but I think that's okay.
-
Rob Swindell authored
-
Rob Swindell authored
Beautified the output a bit.
-
Rob Swindell authored
-
Rob Swindell authored
... trying to get to bottom of user.tab corruption reported in issue #797. Also, don't need to seek in lockuserdat() since we always call seekuserdat() first.
-
Rob Swindell authored
Trying to get to the bottom of user.tab corruption (issue #797).
-
- Nov 03, 2024
-
-
Rob Swindell authored
-
Rob Swindell authored
Though we've had the auto-filtering feature for about a year now, with expiration dates supported/added to every trash record, nothing was removing the expired trash/filter items. Until now. Check the size of your text/*.can files: if they're really big, this is the solution. Not yet building for Windows Sysops will want to run this periodically (monthly?), e.g. trashman /sbbs/text/*.can
-
Rob Swindell authored
-
Deucе authored
-
Deucе authored
-
Deucе authored
-
Deucе authored
Just scream on stderr, and screw things up in the window.
-
Deucе authored
The palette is used to construct the blank screen buffer using vmem cells, so the background would be in screwy colours when connecting for modes that don't use the CGA 16-colour palette.
-
Rob Swindell authored
Root-caused this problem to read() failures which are now caught and logged rather than zeroing out the statistics fields.
-
Rob Swindell authored
Allow filtering/blocking email based on the name portion of email header fields.
-
Deucе authored
I think this map may be the final one.
-
Deucе authored
Not tested on Windows.
-
Deucе authored
I don't expect anything actually uses this...
-
Deucе authored
-
Deucе authored
-
Deucе authored
This is so gross... outputting any character depends on every character above it, so it must be checked every time. If the state was ste up differently, this could be avoided, but it's not, so it can't. For v2, I'm going to want to store some per-line data in a separate struct so I can track this.
-
Rob Swindell authored
(these options follow the password by one or more spaces) I implemented these based on AreaFix v1.10 User's Guide, at Ragnarok's suggestion/request. I didn't test them, so looking forward to getting some test results. The -L and -Q options are functionally identically to the %LIST and %QUERY AreaManager commands, while -R ads a little efficiency by combining +areatag (add) and %RESCAN <areatag> requests in a single command.
-
Rob Swindell authored
Apparently AreaFix and other area managers assume password never have spaces in them, so they can support additional arguments following the password in the AreaFix request. This change also now disallows setting AreaManager passwords with spaces in them. I don't yet support any of the additional AreaFix request options (e.g. -L, -R, -Q), but am considering it. A bunch of sprintf() -> snprintf() conversions are included in this commit (better string buffer security, probably eliminate a Coverity issue or two).
-
- Nov 02, 2024
-
-
Rob Swindell authored
This build rule needed to be defined *after* objects.mk and rules.mk are included.
-
Deucе authored
Changing "stuff" on a line will now propogate to the right appropriately. Next up is double-height characters... hopefully.
-
Deucе authored
-
Deucе authored
Basic Prestel support based on the "Prestel Terminal Specification" Issue 2 by the Post Office. Known issues: Modifying an existing line does not update the row after it. Double height is not supported. Keyboard mapping kinda sucks (looking at you #/Return). Concealed is always shown. Remote programming sequences aren't supported. There appears to be something wrong with the End of the Line title and menu screens, but maybe nelgin did them wrong.
-