/* See documentation in header file. */ int ini_parse_string(const char* string, ini_handler handler, void* user) { ini_parse_string_ctx ctx; ctx.ptr = string; ctx.num_left = strlen(string); return ini_parse_stream((ini_reader)ini_reader_string, &ctx, handler, user); }
INT32 IniParseEfiFile ( EFI_FILE_PROTOCOL *File, ini_handler Handler, VOID *User ) { return ini_parse_stream(IniReaderEfiFile, File, Handler, User); }
/* See documentation in header file. */ int ini_parse(const char* filename, ini_handler handler, void* user) { File file; int error; file = SD.open(filename, FILE_READ); if (!file) return -1; error = ini_parse_stream(file, handler, user); file.close(); return error; }
int main(int argc, char* argv[]) { configuration config; buffer_ctx ctx; ctx.ptr = "; Test ini buffer\n" "\n" "[protocol]\n" "version=42\n" "\n" "[user]\n" "name = Jane Smith\n" "email = [email protected]\n"; ctx.bytes_left = strlen(ctx.ptr); if (ini_parse_stream((ini_reader)ini_buffer_reader, &ctx, handler, &config) < 0) { printf("Can't load buffer\n"); return 1; } printf("Config loaded from buffer: version=%d, name=%s, email=%s\n", config.version, config.name, config.email); return 0; }
/* See documentation in header file. */ int ini_parse_file(FILE* file, ini_handler handler, void* user) { return ini_parse_stream((ini_reader)fgets, file, handler, user); }
bool ConfigurationReadVFile(struct Configuration* configuration, struct VFile* vf) { HashTableClear(&configuration->root); HashTableClear(&configuration->sections); return ini_parse_stream(_vfgets, vf, _iniRead, configuration) == 0; }