• src/sbbs3/js_console.cpp

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 4 15:13:57 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/7ab28ccf30b43d78343ab4c1
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Remove logically dead code

    CID 174335

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Jun 11 14:30:02 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/22f3aa787318183e0a3f5a11
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Add console.progress() method

    This exposes the Synchronet internal sbbs_t::progress() method used to
    display a progress indication bar, e.g. "[ Scanning 10.0% ]" with the bar backfill effect (when supported by the terminal).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Jun 14 22:30:42 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/938b9c91a281d84e10fcde90
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Remove unused variable introduced recently

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Dec 29 10:06:57 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/515ae400a7e0c5a96a9dfbe8
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Add console.flush() method.

    Seems to work a treat.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Dec 29 12:48:49 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/fb5ac79c8a032bccf7a0e2fc
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Fix console.flush() jsdocs details (version, arguments)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Mon Mar 27 17:59:21 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/06a32813d99432bc9657d850
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Fix typos/wording of a couple of property JSDOCS

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Sat Sep 16 23:34:48 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f28c4bc94a89a0ea117481f8
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    If console.uselect() is called just with the number argument, use as default

    This allows the calling script to control what the default item is (when the user just hits enter), and not always the first item.

    Fixes issue #637

    ---
    þ 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 Sun Nov 12 16:47:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/7073d7201a654627af28ba67
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Rename console.crlf() to console.newline(), leaving crlf() as an alias

    Also use sbbs_t::newline() as the underlying implementation of console.newline() rather than a hard-coded CR/LF output loop.

    Added new console methods:
    cond_newline() - equivalent of Ctrl-A/
    cond_blankline() - equivlaent of Ctrl-A?
    cond_contline() - equivalent of Ctrl-A\

    ... so a JS script author doesn't have to output Ctrl-A codes to invoke those functions.

    ---
    þ 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 Sun Nov 12 16:47:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/84ccf98943ba61032776ad80
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Add console.linefeed() method - for completionism

    Seriously though, this doesn't always do the same thing as outputting a '\n' (e.g. in PETSCII mode, it sends a "cursor down" (17) control character).

    ---
    þ 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 Mon Nov 13 16:58:05 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/e8a97640db8c29acc9f89f65
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Fix g++ warnings in newly added functions

    ---
    þ 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 Fri Feb 16 18:17:02 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/862753d6c8fca2a71d1d000a
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    New console property: unicode_zerowidth (either 0 or 1)

    The column-width of UNICODE 'zero-width' character is now autodetected. This property allows one to use/change this autodetected width (normally 0 or 1).

    ---
    þ 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 Sat Mar 23 17:11:55 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/35666fb0ec7116fd0580da76
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Fix CID 479078: Resource leak (RESOURCE_LEAK)

    Passing an unparseable integer to console.editfile() could leak heap memory

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sun Mar 1 18:39:26 2020
    src/sbbs3 js_console.cpp 1.142 1.143
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv733

    Modified Files:
    js_console.cpp
    Log Message:
    A couple JSDOCS method description updates.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thu Mar 19 01:15:17 2020
    src/sbbs3 js_console.cpp 1.143 1.144
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv14783

    Modified Files:
    js_console.cpp
    Log Message:
    console.getkeys() had a couple of bugs:
    - you couldn't specify a maxnum value of 0 (it would get overridden to ~0)
    - you couldn't specify a mode argument value without also specifying a non-zero
    maxnum value



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Mon Apr 6 13:10:12 2020
    src/sbbs3 js_console.cpp 1.144 1.145
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv30015

    Modified Files:
    js_console.cpp
    Log Message:
    Fix bug introduced in rev 1.142 with the additional/optional arguments to the yesno() and noyes() methods:
    We need to check the argument count before using the second (optional)
    argument or else it has some garbage/left-over value from some previous JS function call. And no, just increasing the argument count in the method table isn't enough. :-(
    Reported by echicken and DaiTengu, thanks!


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thu May 7 22:23:38 2020
    src/sbbs3 js_console.cpp 1.147 1.148
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    js_console.cpp
    Log Message:
    Resolve GCC warning: unused variable 'argv'



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sat May 9 16:56:13 2020
    src/sbbs3 js_console.cpp 1.150 1.151
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv30941

    Modified Files:
    js_console.cpp
    Log Message:
    Fix the missing "hungry" argument thing caught by GCC.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tue May 12 12:06:07 2020
    src/sbbs3 js_console.cpp 1.151 1.152
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv16716

    Modified Files:
    js_console.cpp
    Log Message:
    As part of the rev 1.147 (add mouse hot sport support) commit, I made what I thought was a harmless change to the JS console.clear() implementation, I changed the call to sbbs->CLS to sbbs->clearscreen(). The sbbs->CLS macro calls outchar(FF) which check the line-counter and does the auto-pause before screen-clear. A direct call to sbbs->clearscreen() does not.
    Just in case someone actually wants the new (but unexpected behavior), I added an optional boolean parameter to console.clear(), autopause (default to true). Pass false if you want to defeat the autopause functionality. This should be effectively the same as setting the console.line_counter = 0 before calling console.clear(), but it also totally bypasses sbbs_t::outchar,
    so there could be other differences I'm not thinking of.
    Anyway, this fixes the lack of auto-screen pauses in JS mods recently introduced.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sun May 24 01:16:52 2020
    src/sbbs3 js_console.cpp 1.153 1.154
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv23820

    Modified Files:
    js_console.cpp
    Log Message:
    Addd console.mouse_mode (bit-field) property for visibility/control of sbbs internal ANSI-mouse-reporting mode flags (should not normally need to set this).
    console.getxy() now works with non-ANSI terminals and returns false if for some reason the request fails (e.g. ANSI cursor position report timeout).


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Sun Sep 13 12:37:10 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/ac3d31739f4048706ec50148
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Fixes to printfile and printtail methods

    Throw an exception if no filename is specified (rather than just abort the script by returning JS_FALSE).

    The return value is supposed to be a bool, not an int (JS_TRUE != JSVAL_TRUE).

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Fri Nov 6 20:02:11 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/43953c2d8ce1b2c984b60edd
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Address warning: unused variable ‘argv’

    ---
    ï¿­ 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 Tue Aug 6 18:11:10 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/049c18c41a02cf6a6934ecd5
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Fix potential null object pointer passed to JS_GetProperty in js_gotoxy()

    I'm not sure under what script conditions this could happen, but apparently Nelgin was able to produce this null pointer deref (and segfault) using DDMsgReader. This should fix issue #769

    ---
    þ 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 Tue Aug 6 18:27:43 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/a2d6dc86b0b09664a1782cb6
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Better invalid argument reporting (null object) from js_gotoxy()

    The calling script will still terminate if it does this, but at least the caller will get a useful JS exception.

    Related to fix for issue #769

    ---
    þ 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 Fri Dec 6 17:38:28 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/097e0162ab78524539fea92c
    Modified Files:
    src/sbbs3/js_console.cpp
    Log Message:
    Parse console.inkey() timeout parameter as an *unsigned* integer

    A negative timeout value doesn't make sense and this will extend the legal (positive) range of this parameter value.

    Hopefully this will help eliminate these errors I get often:
    dd_lightbar_menu.js line 4041: Error: can't convert inputTimeoutMS to an
    integer

    But if there's some way that this parameter value is even out of the range of an unsigned 32-bit value (4294967295) then this error could still happen. Unfortunately, the JS exception doesn't report the value that failed to convert.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net