- Mar 14, 2023
-
-
Rob Swindell authored
Mainly capitalization, but some typos and added details.
-
- Jan 17, 2023
-
-
Rob Swindell authored
to remove all sections in an .ini file or all sections with a specified prefix.
-
- Jun 25, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
-
- Mar 02, 2022
-
-
Rob Swindell authored
CID 327965
-
Rob Swindell authored
CID 350276
-
- Jan 02, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
-
- Dec 30, 2021
-
-
Rob Swindell authored
-
- Apr 23, 2021
-
-
Rob Swindell authored
This resolves errors when setting these properties to values > 2147483647 example: !JavaScript /sbbs/exec/load/sauce_lib.js line 69: Error: can't convert 2430770157 to an integer That means you can now seek around (set position) within files > 2GB, truncate or extend a file > 2GB, or set a file's date to > Jan-19-2038.
-
- Apr 04, 2021
-
-
Rob Swindell authored
This macro has expanded to nothing for a while now and even before, the usage was misguided and unnecessary as explained in this video: https://www.youtube.com/watch?v=cjotPqQxxAY
-
Rob Swindell authored
CID 319023 319065 319134
-
Rob Swindell authored
-
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 30, 2021
-
-
Deucе authored
Still needs updates in services_thread(), CGI stuff in websrvr.c, and sbbs_t::external()
-
- Mar 05, 2021
-
-
Deucе authored
Documented here: https://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_05.html#tag_02_05_01 This provides the best chance at read_raw() reading from the right location and updating the file pointer as expected while avoiding behaviour which is explicitly undefined by POSIX.
-
- Feb 22, 2021
-
-
Rob Swindell authored
-
- 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 26, 2021
- Jan 24, 2021
-
-
Rob Swindell authored
Some (important) File methods did not support .ini files that used the !include directive because they were using the xpdev iniRead* API (which performs no "pre-processing") instead of xpdev iniGet*. Impacted methods: - iniGetValue() - iniGetKeys() - iniGetObject() The other existing ini* methods already worked fine with nested (!include'd) .ini files. It's possible there's a slight performance penalty with the new implementation since the entire .ini file is always read for each operation and previously it was possible that only a few "lines" were read to find the key(s) of interest. However, since .ini files are not typically huge and the iniRead/file-stream method likely read large (e.g. 8-32K) blocks anyway (which is usually the entire .ini file) - I don't actually suspect any observable impact to performance. This change was needed for the new ctrl/modopts.d support. Added new method useful for debugging nested .ini files: - iniReadAll()
-
- Jan 03, 2021
-
-
Rob Swindell authored
-
- Nov 13, 2020
-
-
Rob Swindell authored
If an .ini file is read by either the iniGetObject() or iniGetAllObjects() methods and contains a key with a blank value, that property would be created with an "undefined" value. Both the iniGetObject() and iniGetAllObjects() methods now accept an additional Boolean argument (which defaults to false), to specify that "blanks" are acceptable. When the "blanks" argument is true, then keys with empty values in the .ini file are created as properties with empty string values (length of 0). This is going to be useful for modopts.js to read potentially-blank strings from modopts.ini and differentiate between a blank string key and a missing key.
-
- Nov 06, 2020
-
-
Rob Swindell authored
I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values. This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service). The new macros names are bit more descriptive as well.
-
- Aug 16, 2020
-
-
Rob Swindell authored
-
- Apr 17, 2020
-
-
rswindell authored
iniReadFile(): - enables the use of the !include directive in the read .in file - reduces rewinds/re-reads of the .ini file, speeding up the total operation I also removed the old crash dump comments from here.
-
- Apr 12, 2020
- Apr 07, 2020
-
-
rswindell authored
JS numbers are double-precision floating points (doubles) and doubles cannot be converted to unsigned integers uniformly across all architectures (e.g. specifically on ARM, negative numbers would mostly get converted to 0U). For details, see https://www.embeddeduse.com/2013/08/25/casting-a-negative-float-to-an-unsigned-int/
-
- Apr 06, 2020
-
-
rswindell authored
Moved some dbprintf() lines around a bit.
-
- Apr 03, 2020
-
-
rswindell authored
-
- Sep 19, 2019
-
-
deuce authored
If dup() fails, return NULL If callog() fails, fclose() the new FILE* No functional change (hopefully).
-
rswindell authored
to TRUE meant the FILE* (created with fdopen) would never be closed. So we now duplicate the file descriptor and get rid of the external flag, always closing Files (FILE streams) upon File object finalize. This fixes the resource leak leading to the eventual "Error 24 opening ..." in the ircd.js when loaded via jsexec, on Windows. This error happened after 169 calls to load(true,...), because each background load creates 3 Files (for stdin/out/err) and those FILE streams were never closed/freed, and 169 * 3 = 507, plus a few open files = 512, the maximum number of open file streams in the Microsoft CRTL apparently. Thanks to Deuce for recognizing these numbers as "magic" and pointing to the likely cause.
-
rswindell authored
"4294967295 File closed" "0000 File closed: /path/to/file"
-
- Aug 27, 2019
-
-
deuce authored
-
- Aug 21, 2019
-
-
rswindell authored
-