• 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
    https://gitlab.synchro.net/main/sbbs/-/commit/cba62a81a5b159b0589012a4
    Modified Files:
    src/sbbs3/js_global.c
    Log Message:
    Properly handle CSI m in html_encode()

    Used by gcc in warnings.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Monday, April 26, 2021 20:59:36
    https://gitlab.synchro.net/main/sbbs/-/commit/c67c16bb3b401d214b837f17
    Modified Files:
    src/sbbs3/js_global.c
    Log Message:
    Add support for conditional new-line Ctrl-A code (/) in html_encode()

    ---
    þ 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 Thursday, March 02, 2023 01:11:32
    https://gitlab.synchro.net/main/sbbs/-/commit/322471e4d3364c7a9979c0e9
    Modified Files:
    src/sbbs3/js_global.c
    Log Message:
    netaddr_type() now returns NET_NONE when passed null or undefined

    ... instead of undefined, to match what the documentation already stated.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/8fbd052ef6f5d608011651c2
    Modified Files:
    src/sbbs3/js_global.c
    Log Message:
    Fix GCC warning regarding incompatible pointer type

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/947f1a785d06f1ce6ebce9e4
    Modified Files:
    src/sbbs3/js_global.c
    Log Message:
    Update JSDOCS for resolve_ip and resolve_host: returns null on failure

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sunday, January 21, 2024 15:02:04
    https://gitlab.synchro.net/main/sbbs/-/commit/bcf5220dc1dbd5b504ac68a0
    Modified Files:
    src/sbbs3/js_global.c
    Log Message:
    Clarify JSDOC kibibytes versus kilobytes

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, February 15, 2024 21:37:00
    https://gitlab.synchro.net/main/sbbs/-/commit/2aa805d5e8f34dbc0caeadcc
    Modified Files:
    src/sbbs3/js_global.c
    Log Message:
    Log the problem codepoint when reporting error in utf8_encode()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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