• src/xpdev/ini_file.c ini_file.h

    From Rob Swindell to Git commit to main/sbbs/master on Tue May 4 01:12:22 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/0d9111a526e0d42becd28186
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Add iniSortSections() which can sort a read ini list and optionally keys

    This also exposed problems with the find_section() utility function: when the "found" section was actually empty and the next immediate line in the ini file was the beginning of a new section, the "keys" indexed would actually be the next section. Now fixed.
  • From Rob Swindell to Git commit to main/sbbs/master on Mon Feb 28 10:19:34 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/2c7c37b0b2703282d53e2b50
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    iniSortSections() supports an optional section prefix

    Needed for echocfg option to sort linked nodes upon reading/writing sbbsecho.ini, for Ray Quinn (1:214/23).
  • From Rob Swindell to Git commit to main/sbbs/master on Sun May 15 23:49:56 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/ce285b1f404fd93ab52d0735
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Replace deprecated inet_ntoa and inet_addr function calls

    Use inet_ntop and inet_pton instead.

    Use 32-bit arguments and return values for IPv4 addressess for all target platforms (ulong is 64-bit on LP64, e.g. Linux-x64, targets).
  • From Rob Swindell to Git commit to main/sbbs/master on Thu Dec 29 14:16:20 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/165a81a4606d61cc028f2c86
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Add iniGetIntInRange() for range-enforced integer values

    If you're going to use a read key value as say, an index into fixed-length array, then you better be sure it's within an expected range.
  • From Rob Swindell to Git commit to main/sbbs/master on Fri Dec 30 02:22:55 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/e4f27335d5233eb80c932622
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Add functions for reading/getting/settings 64-bit ints/uints

    No immediate use, but I thought I had one. I didn't. Still, will probably need these one day.
  • From Rob Swindell (on Debian Linux) to Git commit to main/sbbs/master on Wed Feb 15 23:38:59 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/096fcddb227c690e274d6db9
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Add iniGetClampedInt() to return an int key val clamped to a min/max range

    Very similar to iniGetIntInRange(), but the default value is only returned
    if the key or value is missing.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Tue Feb 20 05:22:23 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/81457b26b9ce0283d346b7d8
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Add iniGetSString() that takes the size of the buffer
  • From Deuc╨╡ to Git commit to main/sbbs/master on Tue Feb 20 05:22:23 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/c69a4f981eec3c009772fb59
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Add iniReadSString() as well.
  • From Rob Swindell (on Debian Linux) to Git commit to main/sbbs/master on Wed Nov 20 20:50:41 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/7046272ee449ddfa4d9be008
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Add iniGet/ReadSectionListWithDupes()

    For use cases were we don't want to silenty ignore duplicate (secondary) section definitions.
  • From Rob Swindell (on ChromeOS)@rob@synchro.net to Git commit to main/sbbs/master on Sat Jan 25 18:44:12 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/5020716c5afd9b42ab6f9d0f
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Add iniAppendSectionWithNamedStrings()

    If you have list of named strings (named_string_t) and want to add them as
    a section of key/value pairs to a [section] in .ini formatted string list, this is the function you want to use. I'm not sure if this is exactly what Deuce had in mind (for use in SyncTERM), but it wasn't a lot of code to write and might be useful to someone someday.