Releases: ccgargantua/ini
Releases · ccgargantua/ini
v1.1.1
v1.1.0
Additions:
INI_DUPLICATE_KEYS_OVERWRITEflag
Changes:
- Default behavior has been changed to where duplicate keys found in files provided to
ini_read_file*functions now break the parsing loop and report an error. With theINI_DUPLICATE_KEYS_OVERWRITEflag, duplicate keys will overwrite the previously held value in the KV pair. WithINI_CONTINUE_PAST_ERRORpassed, then duplicate keys are just ignored.
Fixes:
- Memory leaks in fuzzing tests and query tests.
v1.0.0
ini v1.0.0 Release Notes
Features
- Full INI parsing support, including sections, key/value pairs, quoted values, and whitespace handling.
- Typed query API: string, bool, signed/unsigned integers, hex, and floating-point retrieval.
- Error reporting system with message, offending line, and offset via
INIError_t. - File I/O helpers for reading and writing:
ini_read_file,ini_write_file, and theirFILE*counterparts. - Stack-based data model via
ini_init_datafor environments where heap usage is restricted. - Heap-based model with dynamic allocation and growth via
ini_create_dataandini_free_data. - Custom allocator support through
ini_set_allocator,ini_set_free, andini_set_reallocator. - Parsing flags:
INI_CONTINUE_PAST_ERRORandINI_ALLOW_DUPLICATE_SECTIONS.
Improvements and Behavior
- Dynamic expansion of section and pair storage with fallback behavior when allocation fails.
- Writing functions automatically quote values containing consecutive spaces.
- Robust validation for section names, keys, and values.
Limitations
- Duplicate sections are only supported when explicitly enabled by flags.
- Parsing raw text buffers (non-file input) is not included in this release.
- Parsing is constrained by
INI_MAX_LINE_SIZEandINI_MAX_STRING_SIZEunless redefined.
Licensing
- MIT License included in source.