- Mar 13, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
... and USERS.SYS file creation using new C++ type definitions in pcbdefs.hpp. This mostly fixes issue #366.
-
Rob Swindell authored
PCBOARD.SYS is officially the worst file format ever invented, not just the worst BBS drop file format ever invented. What were these guys smoking?!? I don't know what reference I used almost 30 years ago when I first implemented PCBOARD.SYS file support, but this time I used the PCBoard v15.3 source code (e.g. sys.c and usersys.c) and even their own code seems to work really hard to conform to these crazy file formats. USERS.SYS is a little more sane, but not by a lot. C++ features make this cleaner/easier, but man... there's just so much polish you apply to these turds. I guess (and hope) that nobody's really running programs that depend on/use these file formats. <shrug>
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Just integers right now. And only big or little endian.
-
Rob Swindell authored
Also displays net and aux attribute values when non-zero (weren't displayed at all with the 'r'ead command previously).
-
- Mar 12, 2022
-
-
Rob Swindell authored
Functionality replaced with Pascal::String
-
- Mar 11, 2022
-
-
Rob Swindell authored
For Trikester (DOVEMOD/BSMNTQQ)
-
Rob Swindell authored
A visual clue that there was a new navigation method available on some menus (where left/right arrow keys cycle through configured item) was needed. This seems to work nicely.
-
Rob Swindell authored
Passing either WIN_LEFTKEY or WIN_RIGHTKEY in the window "mode" argument enables this new indicator in the upper right of "list" windows. These indicator arrows are mouse-clickable too (translate to the left and right arrow keys). We had defined uses for all 32 available WIN_* mode bits, so I extended the win mode type from 32 to 64 bits (should this now be called uifc64.c?) :-) Anyway, it'll be easier to add more WIN_* mode flags as needed later, but I do wonder about JavaScript support (not so great for > 31-bit integers).
-
Rob Swindell authored
Rename len() method to length() to align with std::string.
-
Rob Swindell authored
Similar to how we can now cycle through the file areas and message areas using left and right arrow keys, do the same for external "online" program sections and program (door) configurations.
-
- Mar 10, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
/usr/include/c++/v1/iterator:1168:87: error: expected unqualified-id ...&& traits_type::eq_int_type(__sbuf_->sputc(__c), traits_type::eof())) ^ /src/sbbs3/../xpdev/filewrap.h:124:21: note: expanded from macro 'eof' #define eof(fd) (tell(fd)==filelength(fd))
-
Rob Swindell authored
Does this fix the FreeBSD/clang build?
-
Rob Swindell authored
This was necessary to get to build for MSVC2019 and GCC 8.3.0
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Ah, that's better. Actually would work correctly on big-endian platforms (should we ever support one) and with way less code.
-
Rob Swindell authored
-
Rob Swindell authored
(e.g. those stored in files, e.g. EXITINFO.BBS).
-
Rob Swindell authored
So I did a search through the code for sizeof.*long and was surprised to find some remaining (harmless) assumptions that a long is 32-bit.
-
Rob Swindell authored
-
Rob Swindell authored
long is 64-bits (8 bytes), not 32-bit on some target platforms (e.g. Linux-x64), so don't assume sizeof(long)==4. It appears we weren't using these "automatic" integer-size macros anywhere that I can see, so no harm, but might as well fix them. Also remove BYTE_SWAP_SHORT and BYTE_SWAP_LONG since they're terribly named. Retain the LE/BE_SHORT/LONG macros since we're using them currently in SBBS (e.g. js_file.c).
-
- Mar 09, 2022
-
-
Rob Swindell authored
So I was working on re-writing some of this door file generation code and noticed that the EXITINFO.BBS files generated by SBBS: 1. had a lot of garbage data filling unused string characters (no "harm", but potentially leaking information) 2. had the wrong total file length due to 64-bit logontime (time_t) 3. had the wrong total file length due to writing 19 GosubData elements (instead of 20) The first and last issues appear to be some of those "forever" (20+ year old) bugs. So I'm guessing no regularly used door games actually use these portions of the EXITINFO.BBS, so most likely: no harm, no foul. But still, best to fix this before I commit the rewrite.
-
- Mar 08, 2022
-
-
Rob Swindell authored
p (which is used after this) points into 'str', so we can't use 'str' as a temporary variable here.
-
- Mar 07, 2022
-
-
Rob Swindell authored
Nelgin's suggestion to support quick searching/scanning through message and file areas (e.g. comparing settings or whatever) without having to ESC then arrow key, ENTER, for each. Uses Deuce's WIN_EXTKEYS UIFC mode flag, which I don't think I've used before now and uses the special -CIO_KEY value - 2 trick. Also expanded the width of the sub-board and directory info windows to show more information (including full long name). Fixes issue (wishlist item) #349 by Nelgin
-
Rob Swindell authored
As Andre pointed out, these checks perform no function because a user with a level lower than the user being edited cannot enter the related command-key anyway. This was just effectively dead code that was held-over from ancient SBBS days, seemingly before I learned to effectively use the || operator: if(!(atoi(str)>useron.level && console&CON_R_INPUT)) :-) Fixes issue #361
-
- Mar 05, 2022
-
-
Rob Swindell authored
At least, I think this fixes it.
-
Rob Swindell authored
At the suggestion/request of Andre Robitaille. This option was originally added for debugging use, but may as well move it if it's useful in another way.
-
Rob Swindell authored
This only works on little endian systems (which is all we support currently). Fixes CID 174261: Wrong size argument This binary drop file writing code is pretty terrible and inefficient, but I remember being really proud of it (supporting so many drop files). This really should be re-written to use structures and/or buffered file I/O.
-
- Mar 04, 2022
-
-
Rob Swindell authored
e.g. CID 229593: Negative loop bound
-
Rob Swindell authored
Fix CID 33266: Negative loop bound
-
Rob Swindell authored
-
Rob Swindell authored
e.g. CID 33631: Unbounded source buffer
-
Rob Swindell authored
Triggered by CID 33630: Unbounded source buffer
-