• src/xpdev/ini_file.c ini_file.h

    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.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Fri Dec 12 22:22:58 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/7712e945dd04c13243674556
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    The iniFree*StringList() functions now return the type passed

    This helps with C++ callers that use the short-hand syntax:
    list = iniFreeStringList(list)

    ... with C++'s increased type-safety, you can't just assign void* around willy-nilly.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Tue Jan 13 22:16:37 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/54a1c26c3a9b4e26ca1e8c39
    Modified Files:
    src/xpdev/ini_file.c ini_file.h
    Log Message:
    Create iniGetSparseStringList()

    iniGetStringList() treats consecutive separators as a single separator and
    I needed to be able to load sparse lists from .ini files for the upcoming "multiple loadable modules" feature of Synchronet.