• src/sbbs3/js_uifc.c

    From Rob Swindell (on Debian Linux)@1:103/705 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() methodLimited to 6 chars, yet some values are as long as 12 chars.Also, eliminates this warning from RELEASE builds (only) using gcc version12.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); | ^~~~~~~~~~~~~~~~~~
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Sat Oct 28 18:39:38 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.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Sat Oct 28 18:51:54 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()
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 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
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 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
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)