- Jun 26, 2023
-
-
Rob Swindell authored
This macro hasn't done anything meaningful since we stopped using really old versions of Borland compilers (and std libraries) where strerror() returned a string terminated with a line-feed (\n) character.
-
- Jun 11, 2023
-
-
Rob Swindell authored
-
- Jun 04, 2023
-
-
Rob Swindell authored
A bunch of possible (but often, not really) use of undefined values. Some ignored return values (e.g. of chsize/ftruncate, read, write, fgets). Other than some added diagnostics upon some of these unexpected syscall failures, there should be no change in behavior from this commit.
-
- May 03, 2023
- May 01, 2023
-
-
Rob Swindell authored
-
- Mar 14, 2023
-
-
Rob Swindell authored
Mainly capitalization, but some typos and added details.
-
- Dec 24, 2022
-
-
Deucе authored
It seems Linux has deprecated siginterrupt(), and they've been aggressive about removing deprecated C functions lately.
-
- Nov 12, 2022
-
-
Rob Swindell authored
Now, if the BOOL argument value is FALSE, then the .ini file is opened read-only (and thus only read permissions are needed, resolving issue #455). If the BOOL argument value is TRUE, create-if-not-exist is implied. There are no use cases where we would want to open an .ini file for writing only if it already existed.
-
- Aug 14, 2022
-
-
Rob Swindell authored
JSexec needs to be able to run upgrade_to_v320.js without main.ini already existing, but we need some cfg values (e.g. exec_dir) to find/execute scripts. Added -R option to jsexec to (re)require successful config file loaded, if/when needed by something.
-
- Jun 17, 2022
-
-
Rob Swindell authored
Solves problem of status output lines being interleved with console output (e.g. from print()) after executing a script.
-
- Feb 24, 2022
-
-
Rob Swindell authored
CID 174223 CID 174227 CID 174461 CID 174519 CID 229602 CID 319040 CID 319137 CID 319159
-
- Aug 09, 2021
-
-
Rob Swindell authored
-
- Apr 06, 2021
-
-
Rob Swindell authored
-
- Apr 02, 2021
-
-
Deucе authored
This appears to work and the event handler *should* work on other event types already. Note, this is *nix-only due to the use of poll(). select() will need to be used for Windows to keep XP compatability.
-
- Mar 08, 2021
-
-
Deucе authored
-
- Mar 07, 2021
-
-
Deucе authored
This option fixes the fact that the following two lines sometimes place the variables in different scopes at the top-level of included scripts: var x = 1; y = 2; I plan to use this to experiment on if this is what's causing much of the remaining scope chain weirdness... it certain explains some things we've been seeing (and possibly even things like the METHODJIT issues DigitalMan saw yesterday). Enabling in sbbs/jsexec is a much bigger lift, but this change may end up being all upside... the docs have suggested this option always be set since it was originally introduced, and now that I understand scopes better, it's pretty clear why that is.
-
Rob Swindell authored
METHODJIT (JägerMonkey) is doing weird stuff with xtrn_sec.js when enabled, so don't introduce that noise.
-
Rob Swindell authored
-
- Mar 06, 2021
-
-
Rob Swindell authored
This should fix the recent JSDoor build issue introduced.
-
Rob Swindell authored
JavaScriptOptions bit-field can be set in sbbs.ini and jsexec.ini to over-ride the default JS compiler options which have been changed from 0 to (options previously only used by JSDoor): JIT | METHODJIT | COMPILE_N_GO | PROFILING * JIT - TraceMonkey * METHODJIT - JägerMonkey * COMPILE_N_GO - compile-time scope chain resolution of consts * PROFILING - Choose between TraceMonkey and JägerMonkey at compile-time based on profiling results Other options available but not enabled by default: * STRICT - warn on debious practice (i.e. similar to "use strict") * WERROR - convert warnings to errors * VAROBJFIX - use last object on scope chain as the ECMA 'variables object' * RELIMIT - Throw exception on any regular expression which backtracks more than n^3 times, where n is length of the input string * ANONFUNFIX - Disallow function () {} in statement context per ECMA-262 Edition 3. * METHODJIT_ALWAYS - Always whole-method JIT, don't tune at run-time. Also: - Fixed JS warning string formatting (missing space separator). - Removed an extraneous new-line in lprintf() call in mailsrvr. - Added basic assertEq() global method to jsexec, required when running SpiderMonkey test scripts.
-
- Feb 22, 2021
-
-
Rob Swindell authored
-
- Feb 21, 2021
-
-
Rob Swindell authored
Mostly in error-paths.
-
- Feb 15, 2021
-
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
- Feb 14, 2021
-
-
Rob Swindell authored
Don't return an error if the node#/node.cnf file can't be opened for all uses of load_cfg() except from the terminal server. This fixes #214 for Tracker1
-
- Jan 31, 2021
-
-
Rob Swindell authored
-
Rob Swindell authored
Also change the wording of the -D option to be more descriptive.
-
- Jan 30, 2021
-
-
Rob Swindell authored
Also, it's not technically an option, so remove from the option list.
-
Rob Swindell authored
-
Rob Swindell authored
At Tracker1's request/suggestion. jsexec -Itrue ... Result (boolean): true More elaborate expressions can be evaluated and white-space included by quoting the "-I expression". Also, send all cmd-line usage errors to stderr and syntax help to stdout, always (Deuce's request).
-
- Jan 27, 2021
-
-
Rob Swindell authored
-
- Jan 18, 2021
-
-
Rob Swindell authored
We were just trusting that the error strings would be shorter than 256 (usually), but since we're including paths and strerror() results, we really have no control over the length of the error strings. So enforce some healthy boundaries. This could explain the crashes that Divarin of Mutiny is seeing with SCFG on WinXP or maybe it was the truncsp(strerror()) stuff that was just removed as well. We'll see...
-
- Nov 24, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
The argument to JS_NewContext that we were allowing to be configured was not the contest stack size, but rather: "The size, in bytes, of each "stack chunk". This is a memory management tuning parameter which most users should not adjust. 8192 is a good default value." - per Mozilla. So we're just going to use the suggested default, hard-coded.
-
- Nov 14, 2020
-
-
Rob Swindell authored
Previously, the console would be left in "raw" mode after invoking 'jsexec -d <module>'.
-
Rob Swindell authored
Added options -A[filename] and -S[filename] to allow more control over which output streams go where (for mlong and his troubles with running ircd via systemd). -A controls "all messages" either sending all to stdout or the specified filename. This override the automatic suppression of the console output stream when run without a controlling TTY. -S controls "status message" (includes non-error level log messages), either sending the status messages to stdout or the specified filename. This also overrides the automatic suppression of the console output stream when run without a controlling TTY.
-
- 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 17, 2020
-
-
Rob Swindell authored
-
- Aug 16, 2020
-
-
Rob Swindell authored
If jsexec is used for a CGI script and the SBBSCTRL env var was not set, a warning would be printed (to stderr), even if the -c option was used to specify the path to the ctrl dir. get_ctrl_dir() now accepts a boolean argument to specify whether to print a warning when the default value ("/sbbs/ctrl") is used. Pass FALSE for jsexec, TRUE for other callers (currently).
-