#include <stdio.h>
Go to the source code of this file.
◆ INI_HANDLER_LINENO
#define INI_HANDLER_LINENO 0 |
◆ INI_ALLOW_MULTILINE
#define INI_ALLOW_MULTILINE 1 |
◆ INI_ALLOW_BOM
◆ INI_START_COMMENT_PREFIXES
#define INI_START_COMMENT_PREFIXES ";#" |
◆ INI_ALLOW_INLINE_COMMENTS
#define INI_ALLOW_INLINE_COMMENTS 1 |
◆ INI_INLINE_COMMENT_PREFIXES
#define INI_INLINE_COMMENT_PREFIXES ";" |
◆ INI_USE_STACK
◆ INI_MAX_LINE
◆ INI_ALLOW_REALLOC
#define INI_ALLOW_REALLOC 0 |
◆ INI_INITIAL_ALLOC
#define INI_INITIAL_ALLOC 200 |
◆ INI_STOP_ON_FIRST_ERROR
#define INI_STOP_ON_FIRST_ERROR 0 |
◆ INI_CALL_HANDLER_ON_NEW_SECTION
#define INI_CALL_HANDLER_ON_NEW_SECTION 0 |
◆ INI_ALLOW_NO_VALUE
#define INI_ALLOW_NO_VALUE 0 |
◆ ini_handler
typedef int(* ini_handler) (void *user, const char *section, const char *name, const char *value) |
◆ ini_reader
typedef char*(* ini_reader) (char *str, int num, void *stream) |
◆ ini_parse()
241 file = fopen(filename,
"r");
◆ ini_parse_file()
◆ ini_parse_stream()
94 #if INI_ALLOW_REALLOC && !INI_USE_STACK
115 #if INI_HANDLER_LINENO
116 #define HANDLER(u, s, n, v) handler(u, s, n, v, lineno)
118 #define HANDLER(u, s, n, v) handler(u, s, n, v)
122 while (reader(line, (
int)max_line, stream) !=
NULL) {
123 #if INI_ALLOW_REALLOC && !INI_USE_STACK
124 offset = strlen(line);
125 while (offset == max_line - 1 && line[offset - 1] !=
'\n') {
129 new_line = realloc(line, max_line);
135 if (reader(line + offset, (
int)(max_line - offset), stream) ==
NULL)
139 offset += strlen(line + offset);
147 if (lineno == 1 && (
unsigned char)
start[0] == 0xEF &&
148 (
unsigned char)
start[1] == 0xBB &&
149 (
unsigned char)
start[2] == 0xBF) {
158 #if INI_ALLOW_MULTILINE
159 else if (*prev_name && *
start &&
start > line) {
166 else if (*
start ==
'[') {
173 #if INI_CALL_HANDLER_ON_NEW_SECTION
186 if (*
end ==
'=' || *
end ==
':') {
190 #if INI_ALLOW_INLINE_COMMENTS
195 value =
lskip(value);
205 #if INI_ALLOW_NO_VALUE
216 #if INI_STOP_ON_FIRST_ERROR
◆ ini_parse_string()