libconfini Yet another INI parser

Function Overview

Complete list of functions

Here follows the list of public functions available with libconfini. Almost each of them is independent, therefore if you are compiling the library you may decide to remove the functions listed below from the code according to your needs, with the only exceptions of `ini_string_match_ii()`, required by `ini_array_match()` (you could still remove both though), and `strip_ini_cache()`, required by both `load_ini_file()` and `load_ini_path()` (you could remove these three functions altogether as well, but you would make the library virtually useless).

`strip_ini_cache()`

  Parse and tokenize a buffer containing an INI file, then dispatch its content to a custom callback.

`load_ini_file()`

  Parse an INI file and dispatch its content to a custom callback using a `FILE` structure as argument.

`load_ini_path()`

  Parse an INI file and dispatch its content to a custom callback using a path as argument.

`ini_string_match_ss()`

  Compare two simple strings and check whether they match.

`ini_string_match_si()`

  Compare a simple string and an INI string and and check whether they match.

`ini_string_match_ii()`

  Compare two INI strings and check whether they match.

`ini_array_match()`

  Compare two INI arrays and check whether they match.

`ini_unquote()`

  Unescape `\'`, `\"`, and `\\` and remove all unescaped quotes (when single/double quotes are considered metacharacters in respect to the format given)

`ini_string_parse()`

  Unescape `\'`, `\"`, and `\\` and remove all unescaped quotes (when single/double quotes are considered metacharacters in respect to the format given); if the format allows it, sequences of one or more spaces out of quotes will be collapsed.

`ini_array_get_length()`

  Get the length of a stringified INI array in number of members.

`ini_array_foreach()`

  Call a custom function for each member of a stringified INI array, without modifying the content of the buffer – useful for read-only (`const`) stringified arrays.

`ini_array_shift()`

  Shift the location pointed by `ini_strptr` to the next member of the INI array (without modifying the content of the buffer), or to `NULL` if the INI array has no more members – useful for read-only (`const`) stringified arrays.

`ini_array_collapse()`

  Compress the distribution of the data in a stringified INI array by removing all the white spaces that surround its delimiters, empty quotes, collapsable spaces, etc.

`ini_array_break()`

  Replace the first delimiter found (together with the spaces that surround it) with `\0`

`ini_array_release()`

  Replace the first delimiter found (together with the spaces that surround it) with `\0`, then shifts the location pointed by `ini_strptr` to the next member of the INI array, or to `NULL` if the INI array has no more members.

`ini_array_split()`

  Split a stringified INI array into NUL-separated members and call a custom function for each member.

`ini_global_set_implicit_value()`

  Set the value to be to be assigned to implicit keys.

`ini_fton()`

  Calculate the IniFormatNum of an IniFormat.

`ini_ntof()`

  Construct a new IniFormat according to an IniFormatNum.

`ini_get_bool()`

  Check whether a simple string matches one of the booleans listed in the private constant INI_BOOLEANS (case-insensitive)

`ini_get_bool_i()`

  Check whether an INI string matches one of the booleans listed in the private constant INI_BOOLEANS (case-insensitive)

`ini_get_int()`

  Pointer to `atoi()`

`ini_get_lint()`

  Pointer to `atol()`

`ini_get_llint()`

  Pointer to `atoll()`

`ini_get_double()`

  Pointer to `atof()`