|
libconfini
Yet another INI parser
|
24-bit bitfield representing the format of an INI file (INI dialect) More...
#include <confini.h>
Data Fields | |
| unsigned char | delimiter_symbol: 7 |
| unsigned char | case_sensitive: 1 |
| unsigned char | semicolon_marker: 2 |
| unsigned char | hash_marker: 2 |
| unsigned char | section_paths: 2 |
| unsigned char | multiline_nodes: 2 |
| unsigned char | no_single_quotes: 1 |
| unsigned char | no_double_quotes: 1 |
| unsigned char | no_spaces_in_names: 1 |
| unsigned char | implicit_is_not_empty: 1 |
| unsigned char | do_not_collapse_values: 1 |
| unsigned char | preserve_empty_quotes: 1 |
| unsigned char | disabled_after_space: 1 |
| unsigned char | disabled_can_be_implicit: 1 |
24-bit bitfield representing the format of an INI file (INI dialect)
Structure of the bitfield:
| IniFormat::case_sensitive |
If set to 1, string comparisons will always be performed case-sensitive.
| IniFormat::delimiter_symbol |
The symbol to be used as delimiter (only ASCII allowed); if set to 0, any space is delimiter (/(?:\\(?:\n\r?|\r\n?)|[\t \v\f])+/); if, within the format given, this matches a meta-character ('\\', '\'', '\"'), its role as meta-character will have higher priority than its role as delimiter symbol (i.e., the format will have no delimiter symbol); you may use enum IniDelimiters for this.
| IniFormat::disabled_after_space |
If set to 1, allows what follows /[#;]\s/ to be parsed as a disabled entry.
| IniFormat::disabled_can_be_implicit |
If set to 1, comments that do not contain a delimiter symbol will never be parsed as disabled keys, but always as simple comments.
| IniFormat::do_not_collapse_values |
If set to 1, sequences of one or more spaces in values (/\s+/) will be dispatched verbatim.
| IniFormat::hash_marker |
The rule of the hash character (use enum IniCommentMarker for this).
| IniFormat::implicit_is_not_empty |
If set to 1, implicit keys (see Library Functions Manual) will always be dispatched using the values given by the global variables INI_GLOBAL_IMPLICIT_VALUE and INI_GLOBAL_IMPLICIT_V_LEN for the fields IniDispatch::value and to IniDispatch::v_len respectively; if set to 0, implicit keys will be considered to be empty keys.
| IniFormat::multiline_nodes |
Defines which class of entries are allowed to be multi-line (use enum IniMultiline for this).
| IniFormat::no_double_quotes |
If set to 1, the double-quote character (") will be considered as a normal character.
| IniFormat::no_single_quotes |
If set to 1, the single-quote character (') will be considered as a normal character.
| IniFormat::no_spaces_in_names |
If set to 1, key and section names containing spaces (even within quotes) will be rendered as INI_UNKNOWN. Note that setting IniFormat::delimiter_symbol to INI_ANY_SPACE will not automatically set this option to 1 (spaces will still be allowed in section names).
| IniFormat::preserve_empty_quotes |
If set to 1, and if single/double quotes are metacharacters, ensures that, within values, empty strings enclosed between quotes ("" or '') will not be collapsed together with the spaces that surround them. This option is useful for values containing space-delimited arrays, in order to preserve their empty members – as in, for instance: coordinates = "" "". Note that, in section and key names, empty strings enclosed between quotes are always collapsed together with their surrounding spaces.
| IniFormat::section_paths |
Defines whether and how the format supports sections (use enum IniSectionPaths for this).
| IniFormat::semicolon_marker |
The rule of the semicolon character (use enum IniCommentMarker for this).
1.8.14