static void cf_load_file(char *file) { parser(&cf_parser, file, 1, &cf_in, cf_parse); parser_clear(&cf_parser); return; }
static void cf_load_defaults(void) { char *buffer = &_binary_cf_defaults_conf_start; size_t size = &_binary_cf_defaults_conf_end - buffer; cf_in = fmemopen(buffer, size, "r"); if (cf_in == NULL) { log_sys_die(EX_OSERR, "cf_load_defaults: fmemopen failed"); } log_debug("cf_init: load default configuration"); parser(&cf_parser, "BUILT-IN CONFIGURATION", 0, &cf_in, cf_parse); parser_clear(&cf_parser); fclose(cf_in); return; }
static int emulator_load_parser(struct emulator *emu, FILE *file, int (*parser_func) (struct parser *, FILE *)) { int ret = 0; struct parser parser; parser_init(&parser); parser.text.addr = 0x00400000; parser.data.addr = 0x00000000; parser.err_disp = emu->err_disp; if ((parser_func) (&parser, file)) { ret = 1; goto cleanup; } emulator_load_from_parser(emu, &parser); cleanup: parser_clear(&parser); return ret; }