-
src/sbbs3/js_global.c
From
rswindell@VERT to
CVS commit on Sunday, May 04, 2014 00:09:19
src/sbbs3 js_global.c 1.336 1.337
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv23739
Modified Files:
js_global.c
Log Message:
Resolve semaphore leak (handle leak on Windows, at least), resulting in an eventual failure to open any files or even log the failure in the error.log.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Saturday, November 08, 2014 03:02:41
src/sbbs3 js_global.c 1.337 1.338
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv5159
Modified Files:
js_global.c
Log Message:
Allow ascii(0) to return a string one character long containing a NULL. Previously, it returned a zero-length string.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
rswindell@VERT to
CVS commit on Thursday, August 20, 2015 00:10:06
src/sbbs3 js_global.c 1.341 1.342
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv11365
Modified Files:
js_global.c
Log Message:
Add TODO comment regarding the JS file_getext() method and change in behavior (return value) since v3.15.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Friday, August 21, 2015 01:38:08
src/sbbs3 js_global.c 1.342 1.343
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv30272
Modified Files:
js_global.c
Log Message:
Fix reported error where file_getext() didn't return undefined when there
was no extension.
If the specified function returns NULL, js_internal_charfunc will now
return undefined (in all cases). This also fixes file_getcase().
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Friday, August 21, 2015 22:39:49
src/sbbs3 js_global.c 1.343 1.344
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv26684
Modified Files:
js_global.c
Log Message:
Fix warnings.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
rswindell@VERT to
CVS commit on Wednesday, September 02, 2015 18:24:38
src/sbbs3 js_global.c 1.344 1.345
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv9043
Modified Files:
js_global.c
Log Message:
Fix html_encode() Unicode code points for character values 0x10 and 0x11 to map to glyphs found in the Courier New font. When mapped to code points not present in the monospace/courier font family, a different (proportional) font is used which messes up the "ANSI graphics" display.
- 0x10 is now mapped to U+9658 (black right-pointing pointer) instead of U+9658
(black right-pointing triangle)
- 0x11 is now mapped to U+9668 (black left-pointing pointer) instead of U+9664
(black left-pointing triangle)
Incidentally, 0x1e and 0x1f were already mapped correctly.
Also fixed:
- 0x16 now maps to U+9604 (lower half black) instead of U+9644 (black rectangle)
Added some helpful comments (hex values, ASCII values).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Thursday, September 17, 2015 12:26:56
src/sbbs3 js_global.c 1.345 1.346
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv4912
Modified Files:
js_global.c
Log Message:
We can't use 0x2584 for \x16 since that is the same as \xCD and the two are visually distinct, and \x16 doesn't connect to the right or to the bottom.
This glyph is in Courier New, so simply revert to the previous "black rectange" value.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Saturday, November 07, 2015 23:52:13
src/sbbs3 js_global.c 1.349 1.350
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv26453
Modified Files:
js_global.c
Log Message:
Use the same global methods for background threads as foreground ones.
Once again, actually using these is NOT SAFE, you need to pay very close attention to the C source code to know what functions you can use in multiple threads.
The log function gets overwritten, so it should remain somewhat safe, but everything else is a potential bug in your background script.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
rswindell@VERT to
CVS commit on Saturday, November 14, 2015 18:36:43
src/sbbs3 js_global.c 1.350 1.351
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv26110
Modified Files:
js_global.c
Log Message:
Strip &lmr; and ‏ non-printing entities from decoded HTML.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Saturday, November 14, 2015 22:59:12
src/sbbs3 js_global.c 1.351 1.352
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv1687
Modified Files:
js_global.c
Log Message:
Create stdio objects in background threads if they exist in the foreground. These bits may need protection to ensure they are the CORRECT objects.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
Deuce@VERT/SYNCNIX to
rswindell on Sunday, November 15, 2015 08:11:44
Re: src/sbbs3/js_global.c
By: rswindell to CVS commit on Sat Nov 14 2015 06:36 pm
Modified Files:
js_global.c
Log Message:
Strip &lmr; and ‏ non-printing entities from decoded HTML.
If you're going to handle HTML5 entities, you may want to go through the whole table here:
http://www.w3.org/TR/2014/REC-html5-20141028/syntax.html#named-character-refere nces
---
http://DuckDuckGo.com/ a better search engine that respects your privacy.
Mro is an idiot. Please ignore him, we keep hoping he'll go away.
þ Synchronet þ My Brand-New BBS (All the cool SysOps run STOCK!)
-
From
Digital Man@VERT to
Deuce on Sunday, November 15, 2015 12:55:28
Re: src/sbbs3/js_global.c
By: Deuce to rswindell on Sun Nov 15 2015 08:11 am
Re: src/sbbs3/js_global.c
By: rswindell to CVS commit on Sat Nov 14 2015 06:36 pm
Modified Files:
js_global.c
Log Message:
Strip &lmr; and ‏ non-printing entities from decoded HTML.
If you're going to handle HTML5 entities, you may want to go through the whole table here:
http://www.w3.org/TR/2014/REC-html5-20141028/syntax.html#named-character-ref ere nces
That's a big-ass table. I was just addressing the need (CNN put the ‎ entity in one of their recent alert messages).
digital man
Synchronet "Real Fact" #83:
The Electronic Frontier Foundation used to run Synchronet (circa 1993).
Norco, CA WX: 66.3øF, 50.0% humidity, 5 mph NE wind, 0.00 inches rain/24hrs
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
Deuce@VERT/SYNCNIX to
Digital Man on Sunday, November 15, 2015 14:10:19
Re: src/sbbs3/js_global.c
By: Digital Man to Deuce on Sun Nov 15 2015 12:55 pm
If you're going to handle HTML5 entities, you may want to go through the whole table here:
http://www.w3.org/TR/2014/REC-html5-20141028/syntax.html#named-character- ref ere nces
That's a big-ass table. I was just addressing the need (CNN put the ‎ entity in one of their recent alert messages).
A lot of them can't be translated to CP437 though... and perhaps unhandled entities should be translated to a place holder rather than passed through.
---
http://DuckDuckGo.com/ a better search engine that respects your privacy.
Mro is an idiot. Please ignore him, we keep hoping he'll go away.
þ Synchronet þ My Brand-New BBS (All the cool SysOps run STOCK!)
-
From
Digital Man@VERT to
Deuce on Sunday, November 15, 2015 15:44:29
Re: src/sbbs3/js_global.c
By: Deuce to Digital Man on Sun Nov 15 2015 02:10 pm
Re: src/sbbs3/js_global.c
By: Digital Man to Deuce on Sun Nov 15 2015 12:55 pm
If you're going to handle HTML5 entities, you may want to go through the whole table here:
http://www.w3.org/TR/2014/REC-html5-20141028/syntax.html#named-charact er- ref ere nces
That's a big-ass table. I was just addressing the need (CNN put the ‎ entity in one of their recent alert messages).
A lot of them can't be translated to CP437 though... and perhaps unhandled entities should be translated to a place holder rather than passed through.
Or possibly stripped, but that could make it hard to debug unsupported entities that might otherwise create an obvious "gap" in the ASCII output. Having the unsupported entity passed-through makes it obvious and can be dealt with (e.g. either stripped or translated) as needed.
digital man
Synchronet "Real Fact" #71:
Synchronet CIOXTRN (created by Deuce) is a 32-bit replacement for DOORWAY. Norco, CA WX: 59.5øF, 64.0% humidity, 3 mph ENE wind, 0.00 inches rain/24hrs
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Sunday, November 15, 2015 21:32:57
src/sbbs3 js_global.c 1.352 1.353
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv4938
Modified Files:
js_global.c
Log Message:
Call js_PrepareToExecute() for background scripts so that exec_path and
scope get set properly.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
rswindell@VERT to
CVS commit on Tuesday, November 17, 2015 16:59:18
src/sbbs3 js_global.c 1.353 1.354
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv30537
Modified Files:
js_global.c
Log Message:
Add support for the "hellip" (horizontal ellipsis) HTML entity to the html_decode() function.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
rswindell@VERT to
CVS commit on Saturday, January 02, 2016 17:20:05
src/sbbs3 js_global.c 1.354 1.355
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv15207
Modified Files:
js_global.c
Log Message:
If JS exit() is called with a non-numeric argument, don't use it for the exit_code value.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
rswindell@VERT to
CVS commit on Thursday, February 25, 2016 23:19:55
src/sbbs3 js_global.c 1.356 1.357
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv6498
Modified Files:
js_global.c
Log Message:
Added HTML to ASCII conversions for entities: lsquo/rsquo (single-quote), ldquo/rdquo (double-quotes), and ndash/mdash (dash).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Saturday, April 23, 2016 17:20:22
src/sbbs3 js_global.c 1.359 1.360
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv18548
Modified Files:
js_global.c
Log Message:
Add new global require([scope,] filename, 'propname'[, args]) method which load()s filename if propname is defined in scope (scope defaults to this.
Returns null if the file is not load()ed or the return value from load()
(last value of require()d file) if it is.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Saturday, April 23, 2016 17:26:21
src/sbbs3 js_global.c 1.360 1.361
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv18683
Modified Files:
js_global.c
Log Message:
Fix tyops.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
deuce@VERT to
CVS commit on Saturday, April 23, 2016 17:41:34
src/sbbs3 js_global.c 1.361 1.362
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv18975
Modified Files:
js_global.c
Log Message:
If the require()ed file is load()ed, and the symbol it checked is not defined after the load(), throw an error.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ
telnet://vert.synchro.net
-
From
rswindell@VERT to
CVS commit on Wednesday, November 15, 2017 23:22:54
src/sbbs3 js_global.c 1.365 1.366
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
js_global.c
Log Message:
New global method: file_cdate() to get a file's creation time.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thursday, February 22, 2018 02:02:24
src/sbbs3 js_global.c 1.368 1.369
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv7015
Modified Files:
js_global.c
Log Message:
file_cfgname() would do weird things if you passed only a single parameter.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Friday, March 09, 2018 12:03:04
src/sbbs3 js_global.c 1.369 1.370
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv3671
Modified Files:
js_global.c
Log Message:
Fix spectacularly bad bug in the cksum_calc() global method.
Thanks scan-build!
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Friday, March 09, 2018 12:04:37
src/sbbs3 js_global.c 1.370 1.371
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv4624
Modified Files:
js_global.c
Log Message:
sp = p, not 0.
(fix last commit)
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Friday, March 09, 2018 22:12:50
src/sbbs3 js_global.c 1.372 1.373
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv16738
Modified Files:
js_global.c
Log Message:
Fix warnings.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thursday, April 05, 2018 19:47:06
src/sbbs3 js_global.c 1.373 1.374
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
js_global.c
Log Message:
Resolve GCC warning: cast from pointer to integer of different size
in expansion of macro 'JS_ARGS_OFFSET':
unsigned long is the same size as a pointer (rather than unsigned int)
on the supported target platforms/tool-chains.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sunday, May 05, 2019 18:58:56
src/sbbs3 js_global.c 1.380 1.381
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv20279
Modified Files:
js_global.c
Log Message:
html_decode() - add support for the following HTML 4 entities:
- "lsaquo" and "rsaquo" (angled versions of "lsquo" and "rsquo")
- "zwj" and "znnj" (zero-width joiner / non-joiner)
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thursday, May 09, 2019 14:01:05
src/sbbs3 js_global.c 1.381 1.382
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
js_global.c
Log Message:
Added todo comment about require() behavior which is unexpected when the passesd filename is not found - function reports the symbol was not
defined rather than file not found or something similar.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sunday, May 19, 2019 23:59:56
src/sbbs3 js_global.c 1.382 1.383
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
js_global.c
Log Message:
Fix require(): if load() fails with exception, don't report a "symbol
not defined" exception, just report the load() exception - whatever it was (e.g. could not open load-file).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sunday, July 14, 2019 01:18:32
src/sbbs3 js_global.c 1.384 1.385
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv9081
Modified Files:
js_global.c
Log Message:
New JS global method: file_chmod(), changes a file's mode value ala *nix chmod. Really only useful on *nix since Windows only allows the setting/clearing of
a single mode flag: user-writeable, 0x80, 0200.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sunday, July 14, 2019 19:53:42
src/sbbs3 js_global.c 1.385 1.386
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv26683
Modified Files:
js_global.c
Log Message:
New global JS function: file_mode()
This function behaves the same as file_attrib() on *nix, but on Windows, file_mode() returns a *nix/stat style st_mode value (compatible with file_chmod) while file_attrib() returns the struct _finddata_t 'attrib' value, which is a quite different value (e.g. indicates Windows/DOS centric file attributes like "archive", "hidden", etc.) and is *incompatible* with file_chmod(). So if you're going to modify a file's permissions (mode), use file_mode() to read them and file_chmod() to save them.
file_attrib() should really only be used on Windows and only for checking for attributes like "hidden", "archive", etc. (which don't exist on *nix).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sunday, August 04, 2019 01:26:01
src/sbbs3 js_global.c 1.386 1.387
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv21380
Modified Files:
js_global.c
Log Message:
Make it clear, hopefully, that resolve_ip() can only return an array upon success. Upon failure to resolve, resolve_ip() returns null.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Wednesday, August 07, 2019 20:53:45
src/sbbs3 js_global.c 1.387 1.388
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
js_global.c
Log Message:
Debug-level log message when invoking a background-load()
Fixed typo in other log msg.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tuesday, August 20, 2019 10:33:49
src/sbbs3 js_global.c 1.388 1.389
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv5097
Modified Files:
js_global.c
Log Message:
Make the load()/require() search path of last resort the CWD. This makes the error message if failure to find the file to load less confusing.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sunday, August 25, 2019 00:06:37
src/sbbs3 js_global.c 1.389 1.390
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv9152
Modified Files:
js_global.c
Log Message:
New global methods:
utf8_encode(): to convert a CP437 string or a single Unicode codepoint (number)
to UTF-8 encoded string
utf8_decode(): to convert a UTF-8 encoded string to a CP437 string
Move the require() enumeration to just below load() so it's documented closer to its dad in jsdocs.html
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Monday, August 26, 2019 15:26:33
src/sbbs3 js_global.c 1.390 1.391
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv20669
Modified Files:
js_global.c
Log Message:
New global function: utf8_width()
- returns the fixed printed-width of the specified UTF-8 encoded string
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Tuesday, August 27, 2019 10:40:35
src/sbbs3 js_global.c 1.391 1.392
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv25850
Modified Files:
js_global.c
Log Message:
Search the current scope for the js object to locate the current scope in,
not the global scope. This appears to be a systemic issue, and could even
be the root cause of the background log problem...
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Tuesday, August 27, 2019 11:06:29
src/sbbs3 js_global.c 1.392 1.393
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv8511
Modified Files:
js_global.c
Log Message:
Search for the js and log objects in the current scope, not in the global object.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Tuesday, August 27, 2019 12:15:24
src/sbbs3 js_global.c 1.393 1.394
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv17159
Modified Files:
js_global.c
Log Message:
Check the object scope after checking the current scope when looking for
the "js" object.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Tuesday, August 27, 2019 12:16:48
src/sbbs3 js_global.c 1.394 1.395
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv17443
Modified Files:
js_global.c
Log Message:
Also check the object scope for the log function.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Tuesday, August 27, 2019 14:37:47
src/sbbs3 js_global.c 1.395 1.396
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv3811
Modified Files:
js_global.c
Log Message:
Don't leave a pending exception on exit from js_global_resolve().
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tuesday, August 27, 2019 18:40:45
src/sbbs3 js_global.c 1.396 1.397
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv10351
Modified Files:
js_global.c
Log Message:
Renaned utf8_width() to utf8_get_width()
New global functions:
- str_is_utf8()
- str_is_ascii()
- str_has_ctrl()
Return a more sensible value when 'null' is passed to the utf8_* functions. Updated some JSDOCS strings in regards to "extended-ASCII" and what that
means (in some cases, specifically CP437, in others, any non-ASCII chars).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tuesday, August 27, 2019 21:24:35
src/sbbs3 js_global.c 1.397 1.398
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv1603
Modified Files:
js_global.c
Log Message:
New global JS function: str_is_utf16(), returns true if the passed string contains one or more UTF-16 encoded characters.
utf8_encode() can now accept a UTF-16 encoded string (e.g. "\u0f00") and will return the UTF-8 encoded version.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Tuesday, September 03, 2019 20:27:19
src/sbbs3 js_global.c 1.398 1.399
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv3090
Modified Files:
js_global.c
Log Message:
Add an additional for of socket_select() that is passed multiple arrays.
It will return an object with properties corresponding to the passed
arrays, and the write parameter will be ignored. This allows usage very
much like the select() syscall, and allows a traditional non-blocking
server to be written.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Wednesday, September 04, 2019 11:06:20
src/sbbs3 js_global.c 1.399 1.400
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv489
Modified Files:
js_global.c
Log Message:
Fix single-array socket_select broken in previous commit.
This should fix the crash in ircd.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Monday, September 16, 2019 22:29:55
src/sbbs3 js_global.c 1.400 1.401
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv29158
Modified Files:
js_global.c
Log Message:
Do not re-create the result arrays for each socket that's read (derp).
This only impacts the new socket_select() method with multiple arrays.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Wednesday, September 18, 2019 23:52:21
src/sbbs3 js_global.c 1.401 1.402
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv28762
Modified Files:
js_global.c
Log Message:
Fix resource leak from background-load()'s:
The created message queue for each background-load()ed script was never detached-from by the child thread, so the linked-lists (and their semaphores) were never freed. Calling msgQueueDetach() before ending the background_thread fixes that leak.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
mark lewis@VERT to
rswindell on Friday, September 20, 2019 21:19:42
On 2019 Sep 18 23:52:20, you wrote to CVS commit:
src/sbbs3 js_global.c 1.401 1.402
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv28762
Modified Files:
js_global.c
Log Message:
Fix resource leak from background-load()'s:
The created message queue for each background-load()ed script was never detached-from by the child thread, so the linked-lists (and their semaphores) were never freed. Calling msgQueueDetach() before ending the background_thread fixes that leak.
so did my questioning about the background loading of dnshelper.js assist in finding this problem?? if so, YAY!
the main thing that triggered my thoughts on it, which i think i also asked about, was about using load vs require... i was thinking about other recent changes that switched from load to require to prevent multiple loadings of the same code which was also leading to problems of some sort...
in any case, this looks like it was a deep dig to root out... GoodJob!<tm> :)
)\/(ark
Once men turned their thinking over to machines in the hope that this would set
them free. But that only permitted other men with machines to enslave them.
... People who pun deserve to be drawn and quoted.
---
* Origin: (1:3634/12.73)
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Digital Man@VERT to
mark lewis on Saturday, September 21, 2019 02:02:14
Re: src/sbbs3/js_global.c
By: mark lewis to rswindell on Fri Sep 20 2019 09:19 pm
so did my questioning about the background loading of dnshelper.js assist in finding this problem?? if so, YAY!
I don't recall that being discussed. It just a shot in the dark that lead to some clues.
digital man
Synchronet/BBS Terminology Definition #31:
FTP = File Transfer Protocol
Norco, CA WX: 63.0øF, 86.0% humidity, 0 mph SSW wind, 0.00 inches rain/24hrs
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rampage@VERT/SESTAR to
Digital Man on Saturday, September 21, 2019 11:38:34
Re: src/sbbs3/js_global.c
By: Digital Man to mark lewis on Sat Sep 21 2019 02:02:14
so did my questioning about the background loading of dnshelper.js assist in finding this problem?? if so, YAY!
I don't recall that being discussed. It just a shot in the dark that lead to some clues.
yeah, sorry, that was with my other account, wkitty42, on IRC on the 15th...
double spaced to try to prevent word wrapping from making dog's breakfast out of it... time stamps are UTC-0400...
----- snip -----
Sep 15 10:04:20 <wkitty42> why is dnshelper.js loaded by ircd.js multiple times? should it be "required" so it is loaded once and used for all? could this be one of the leaks being seen?
Sep 15 10:04:21 <wkitty42> Routing: from sestar.synchro.net: Received SQUIT *.synchro.net from wkitty42[
wkitty42@sestar.synchro.net] (wkitty42)
Sep 15 10:04:21 <wkitty42> Routing: from sestar.synchro.net: Closing Link: cvs.synchro.net (wkitty42)
Sep 15 10:04:21 <wkitty42> Routing: Auto-connecting to *.synchro.net
Sep 15 10:04:21 <wkitty42> Routing: Connected! Sending info...
Sep 15 10:04:21 <wkitty42> 0006 Accepted new connection: 71.95.196.34 port 6667
Sep 15 10:04:21 <wkitty42> JavaScript Background Load: /sbbs/exec/load/dnshelper.js
Sep 15 10:04:21 <wkitty42> Routing: Auto-connecting to *.synchro.net
Sep 15 10:04:21 <wkitty42> Routing: Connected! Sending info...
Sep 15 10:04:21 <wkitty42> 0008 Accepted new connection: 71.95.196.36 port 6667
Sep 15 10:04:21 <wkitty42> JavaScript Background Load: /sbbs/exec/load/dnshelper.js
[...]
Sep 15 10:21:09 <wkitty42> yeah, that's why i asked my question ;) i've seen vert having problems lately with such... not sure if that's because it is being run from services or not, though... i run mine from jsexec specifically to prevent it from bouncing all the time when i'm working on the board...
Sep 15 10:22:19 <wkitty42> so maybe that's why i don't see the problem that vert sees? does anyone else see the problem on their system? do they run from services or via jsexec?
----- snip -----
)\/(ark
---
þ Synchronet þ The SouthEast Star Mail HUB - SESTAR
-
From
Digital Man@VERT to
Rampage on Saturday, September 21, 2019 10:50:05
Re: src/sbbs3/js_global.c
By: Rampage to Digital Man on Sat Sep 21 2019 11:38 am
Re: src/sbbs3/js_global.c
By: Digital Man to mark lewis on Sat Sep 21 2019 02:02:14
so did my questioning about the background loading of dnshelper.js assist in finding this problem?? if so, YAY!
I don't recall that being discussed. It just a shot in the dark that lead to some clues.
yeah, sorry, that was with my other account, wkitty42, on IRC on the 15th...
double spaced to try to prevent word wrapping from making dog's breakfast out of it... time stamps are UTC-0400...
----- snip -----
Sep 15 10:04:20 <wkitty42> why is dnshelper.js loaded by ircd.js multiple times? should it be "required" so it is loaded once and used for all? could this be one of the leaks being seen?
I don't recall seeing that. No, require() would not be of use there. Yes, the bg-load was the issue (not specific to dnshelper.js).
digital man
Synchronet "Real Fact" #43:
Synchronet added Baja/PCMS support with v2.00a (1994).
Norco, CA WX: 82.1øF, 45.0% humidity, 0 mph WSW wind, 0.00 inches rain/24hrs
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tuesday, September 24, 2019 21:18:23
src/sbbs3 js_global.c 1.402 1.403
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv24674
Modified Files:
js_global.c
Log Message:
Fix bug introduced in previous commit (rev 1.402) of this file:
The js_finalize_queue() is eventually called when garbage is collected and js_finalize_queue() calls msgQueueDetach(), so bg-load()s did not "leak" semaphores and this "fix" actually introduced a problem where the queue was detached too many times, leaving the ref count 0 while there was actually
a lingering reference (in the parent), leading to a crash as reported by echto (thanks, echto!).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sunday, March 01, 2020 10:45:41
src/sbbs3 js_global.c 1.403 1.404
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv32349
Modified Files:
js_global.c
Log Message:
Resolve MSVC warnings:
src\sbbs3\js_global.c(3703): warning C4018: '<': signed/unsigned mismatch src\sbbs3\js_global.c(3761): warning C4018: '<': signed/unsigned mismatch src\sbbs3\js_global.c(3779): warning C4018: '<': signed/unsigned mismatch
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Wednesday, March 11, 2020 11:08:35
src/sbbs3 js_global.c 1.404 1.405
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv20519
Modified Files:
js_global.c
Log Message:
Document that mkpath() returns true if the path already exists.
ie: Does not return if the path was made or not.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Friday, April 10, 2020 21:02:57
src/sbbs3 js_global.c 1.405 1.406
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv20353
Modified Files:
js_global.c
Log Message:
When a server does a background load, this line would be logged to the terminal server (uck). Needs an lputs() callback or similar.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sunday, April 19, 2020 14:06:53
src/sbbs3 js_global.c 1.406 1.407
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv8881
Modified Files:
js_global.c
Log Message:
Add global socket_errno_str property for cross-platform description of last socket-related error.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Saturday, August 08, 2020 18:53:52
src/sbbs3 js_global.c 1.408 1.409
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
js_global.c
Log Message:
Bug-fix: global socket_errno_str property returned numeric value (not string).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to sbbs/master on Saturday, September 26, 2020 18:24:35
https://gitlab.synchro.net/sbbs/sbbs/-/commit/7c12761d51ebc0a33482d62f
Modified Files:
src/sbbs3/js_global.c
Log Message:
Add global methods: strerror() and socket_strerror()
If you have a stored errno value (or Socket.error), these are how you convert that number to an error description.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Wednesday, December 02, 2020 00:09:17
https://gitlab.synchro.net/main/sbbs/-/commit/d083d463917d83c4e0e3fd02
Modified Files:
src/sbbs3/js_global.c
Log Message:
Don't log an error when JS resolve_ip() fails
e.g. don't log the error "term !ERROR resolve_ip example.com failed with error -2", just let the script deal with the failure and log an error if it wishes.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sunday, January 10, 2021 20:39:46
https://gitlab.synchro.net/main/sbbs/-/commit/292c4acccd7805e22af91d7e
Modified Files:
src/sbbs3/js_global.c
Log Message:
String processing functions return null (instead of "null") when passed null
This was initially just done for lfexpand(), but then I realized there were a lot of these string processing functions that just checked for VOID
(undefined) argumnet value, but not null.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¨@VERT to
Git commit to main/sbbs/master on Thursday, March 25, 2021 22:56:46
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Monday, April 26, 2021 20:59:36
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Thursday, March 02, 2023 01:11:32
-
From
Rob Swindell (in GitKraken)@VERT to
Git commit to main/sbbs/master on Monday, March 13, 2023 18:31:32
https://gitlab.synchro.net/main/sbbs/-/commit/8229b90607aa8e76e11ff2db
Modified Files:
src/sbbs3/js_global.c
Log Message:
Add new global JS function: rmfiles() (remove files)
number rmfiles(directory, spec=*, keep=0)
Removes files and sub-directories, recursively. Use with caution!
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Monday, March 13, 2023 19:41:29
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Tuesday, May 23, 2023 18:47:17
https://gitlab.synchro.net/main/sbbs/-/commit/1ea093ded702fc1c800b54fb
Modified Files:
src/sbbs3/js_global.c
Log Message:
Add new global method: strip_ctrl_a() - remove Ctrl-A sequences from string
Unlike strip_ctrl(), does not remove any other control characters from string.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Friday, July 07, 2023 18:39:53
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Sunday, January 21, 2024 15:02:04
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Thursday, February 15, 2024 21:37:00
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Monday, February 26, 2024 22:41:59
https://gitlab.synchro.net/main/sbbs/-/commit/e7738fa44ef19b502e9e0cf4
Modified Files:
src/sbbs3/js_global.c
Log Message:
Fix commit 78dc9470 - wasn't complete
For some reason, I committed test code that commented-out the actual call
to js_IsTerminated() which avoided the unnecessary error log message. I guess
I was testing to confirm the change actually worked. <shrug>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net