• src/sbbs3/js_file.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Sunday, January 24, 2021 13:52:29
    https://gitlab.synchro.net/main/sbbs/-/commit/8fdbb1692b8ad6c1959f8f3e
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    More support for !include in .ini files

    Some (important) File methods did not support .ini files that used the !include directive because they were using the xpdev iniRead* API (which performs no "pre-processing") instead of xpdev iniGet*.

    Impacted methods:
    - iniGetValue()
    - iniGetKeys()
    - iniGetObject()

    The other existing ini* methods already worked fine with nested (!include'd) .ini files. It's possible there's a slight performance penalty with the new implementation since the entire .ini file is always read for each operation and previously it was possible that only a few "lines" were read to find the key(s) of interest. However, since .ini files are not typically huge and the iniRead/file-stream method likely read large (e.g. 8-32K) blocks anyway (which is usually the entire .ini file) - I don't actually suspect any observable impact to performance.

    This change was needed for the new ctrl/modopts.d support.

    Added new method useful for debugging nested .ini files:
    - iniReadAll()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Monday, January 25, 2021 17:05:31
    https://gitlab.synchro.net/main/sbbs/-/commit/fb00000af4c304a5d3118bd3
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Don't throw an exception when setting or getting class properties.

    Doing so prevents extending the prototype.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuce@VERT to Git commit to main/sbbs/master on Tuesday, January 26, 2021 10:19:30
    https://gitlab.synchro.net/main/sbbs/-/commit/24a9a7d9215fe80ee6b766ee
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Fix error in previous commit that switch to GetInstancePrivate()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, March 04, 2021 17:05:54
    https://gitlab.synchro.net/main/sbbs/-/commit/67c4ed071971b1428a300480
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Implement POSIX requirements for FD/Stream interactions.

    Documented here: https://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_05.html#tag_02_05_01
    This provides the best chance at read_raw() reading from the right
    location and updating the file pointer as expected while avoiding
    behaviour which is explicitly undefined by POSIX.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sunday, April 04, 2021 13:38:22
    https://gitlab.synchro.net/main/sbbs/-/commit/895d9cb37640d08e30a94ecc
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    printf usage issue caught by Coverity.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sunday, April 04, 2021 15:13:57
    https://gitlab.synchro.net/main/sbbs/-/commit/9e69e9b8e9f3e2709d7dbf4f
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Fix some printf argument types

    CID 319023 319065 319134

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, April 22, 2021 20:22:12
    https://gitlab.synchro.net/main/sbbs/-/commit/8f79438d2ca277e2c8a25a24
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Use JS_ValueToECMAUint32 for File position, date, and length properties

    This resolves errors when setting these properties to values > 2147483647 example:
    !JavaScript /sbbs/exec/load/sauce_lib.js line 69: Error: can't convert 2430770157 to an integer

    That means you can now seek around (set position) within files > 2GB, truncate or extend a file > 2GB, or set a file's date to > Jan-19-2038.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, December 30, 2021 14:31:31
    https://gitlab.synchro.net/main/sbbs/-/commit/977b5cab754b783e5b12217b
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    A few minor JSDOC fixes.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, January 01, 2022 23:58:45
    https://gitlab.synchro.net/main/sbbs/-/commit/80020e4d5e82682275fc684f
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Document the new SHA1-related File properties.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sunday, January 02, 2022 15:58:28
    https://gitlab.synchro.net/main/sbbs/-/commit/a2a9dc027839f4faf19692b3
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Need to escape backslashes in JSDOC strings

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tuesday, March 01, 2022 22:43:08
    https://gitlab.synchro.net/main/sbbs/-/commit/77b90b5f5cb9633128efdf9d
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Zero-init write buffer in js_writebin()

    CID 350276

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wednesday, March 02, 2022 10:07:45
    https://gitlab.synchro.net/main/sbbs/-/commit/c920d0da9c8a9ebdcc6c94ac
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Fix possible negative offset to lseek()

    CID 327965

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, June 25, 2022 15:20:45
    https://gitlab.synchro.net/main/sbbs/-/commit/c5ad7fc5c635cdc4db13df51
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Add support for reading/writing 8-byte (64-bit) integers in binary files

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Monday, January 16, 2023 20:41:25
    https://gitlab.synchro.net/main/sbbs/-/commit/d797b759823692f607962bf8
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Add File method: iniRemoveSections()

    to remove all sections in an .ini file or all sections with a specified
    prefix.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (in GitKraken)@VERT to Git commit to main/sbbs/master on Tuesday, March 14, 2023 21:25:14
    https://gitlab.synchro.net/main/sbbs/-/commit/1f86e81c78290852da97a86d
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Fix JSDOC typo

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, March 24, 2024 15:41:49
    https://gitlab.synchro.net/main/sbbs/-/commit/fb957d1d8844368b19fb5b16
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Increase size of file mode string so it's not 4 bytes.

    4-bytes is how bit a 32-bit pointer is.

    ---
    þ 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 Saturday, May 25, 2024 14:28:35
    https://gitlab.synchro.net/main/sbbs/-/commit/7dcfa20fe2f1ce9eb52a3ba1
    Modified Files:
    src/sbbs3/js_file.c
    Log Message:
    Don't convert/store small integers to doubles when reading/writing .ini files

    Fix issue #760

    UINT_TO_JSVAL automatically handles the storage as the necsesary underlying type in the JS engine.

    Values > 0x7fffffff (2147483647) will still be stored (and re-written) as doubles and could be problematic.

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