• src/sbbs3/js_uifc.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Mon Feb 20 14:16:00 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2a2c6ed4ffdb1d31c5fbd8a2
    Modified Files:
    src/sbbs3/js_uifc.c
    Log Message:
    Fix insufficient 'mode' string length in init() method

    Limited to 6 chars, yet some values are as long as 12 chars.

    Also, eliminates this warning from RELEASE builds (only) using gcc version 12.2.0 (Debian 12.2.0-14):
    js_uifc.c: In function `js_uifc_init':
    sbbs.h:230:56: warning: writing 8 bytes into a region of size 7 [-Wstringop-overflow=]
    230 | (ret)[JSSTSpos]=(char)JSSTSstrval[JSSTSpos]; \
    | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    sbbs.h:242:9: note: in expansion of macro `JSSTRING_TO_ASTRING'
    242 | JSSTRING_TO_ASTRING((cx), JSVTSstr, (ret), (maxsize), (lenptr)); \
    | ^~~~~~~~~~~~~~~~~~~
    js_uifc.c:609:17: note: in expansion of macro `JSVALUE_TO_ASTRING'
    609 | JSVALUE_TO_ASTRING(cx, argv[1], mode, 7, NULL);
    | ^~~~~~~~~~~~~~~~~~
    In file included from sbbs.h:255: /home/rswindell/sbbs/src/sbbs3/../xpdev/genwrap.h:77:20: note: destination object of size 7 allocated by `__builtin_alloca'
    77 | #define alloca(sz) __builtin_alloca(sz)
    | ^~~~~~~~~~~~~~~~~~~~
    sbbs.h:228:43: note: in expansion of macro `alloca'
    228 | if(((ret)=(char *)alloca((*JSSTSlenptr)+1))) { \
    | ^~~~~~
    sbbs.h:242:9: note: in expansion of macro `JSSTRING_TO_ASTRING'
    242 | JSSTRING_TO_ASTRING((cx), JSVTSstr, (ret), (maxsize), (lenptr)); \
    | ^~~~~~~~~~~~~~~~~~~
    js_uifc.c:609:17: note: in expansion of macro `JSVALUE_TO_ASTRING'
    609 | JSVALUE_TO_ASTRING(cx, argv[1], mode, 7, NULL);
    | ^~~~~~~~~~~~~~~~~~

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sat Oct 28 18:39:39 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/13b61182ea5e0084fab1acc2
    Modified Files:
    src/sbbs3/js_uifc.c
    Log Message:
    'prompt' argument missing from uifc.input() JSDOC

    Also clarify (or try to clarify) that the maxlen argument is required if you want to specify any kmode flags.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sat Oct 28 18:51:55 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b4c97d4673102605ccccda92
    Modified Files:
    src/sbbs3/js_uifc.c
    Log Message:
    Document all the parameters to and return value of uifc.input()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sun Oct 29 17:47:10 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/a3f62409cf84c5d5946e122c
    Modified Files:
    src/sbbs3/js_uifc.c
    Log Message:
    Update JS docs for uifc methods

    The CTX constructor arguments weren't documented

    Some blind beautification via HTML tags

    ---
    þ 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 Mar 5 15:37:58 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0121fc5ff50c2e53e35a46e0
    Modified Files:
    src/sbbs3/js_uifc.c
    Log Message:
    Make uifc.input.CTX and uifc.showbuf.CTX constructors match assumptions/docs

    This one has caught me up before, for the CTX constructors didn't actually accept any initial property values (as arguments).

    mlong even documented it this way at https://wiki.synchro.net/ref:uifc#javascript_interface

    And construted his input.CTXs this way (using all 0 values, which were
    ignored) in his xtrnmenucfg.js

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