X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=discover%2Fyaboot-parser.c;h=d7a0a9f80744ef9e533b705637b1b98f87a86b24;hb=397dc244bfdc2a57fc3e8fd191b0ef60c8a4b66b;hp=b287817a6727c1d0838661675cf70209430121ce;hpb=92806cf6bc15f680f75879288df12ea9a87e4608;p=petitboot diff --git a/discover/yaboot-parser.c b/discover/yaboot-parser.c index b287817..d7a0a9f 100644 --- a/discover/yaboot-parser.c +++ b/discover/yaboot-parser.c @@ -287,11 +287,10 @@ static const char *yaboot_known_names[] = { NULL }; -static int yaboot_parse(struct discover_context *dc) +static int yaboot_parse(struct discover_context *dc, char *buf, int len) { struct conf_context *conf; struct yaboot_state *state; - int rc; conf = talloc_zero(dc, struct conf_context); @@ -301,7 +300,6 @@ static int yaboot_parse(struct discover_context *dc) conf->dc = dc; conf->global_options = yaboot_global_options, conf_init_global_options(conf); - conf->conf_files = yaboot_conf_files, conf->get_pair = conf_get_pair_equal; conf->process_pair = yaboot_process_pair; conf->finish = yaboot_finish; @@ -314,10 +312,14 @@ static int yaboot_parse(struct discover_context *dc) state->opt = talloc_zero(conf->dc->device, struct boot_option); state->opt->boot_args = talloc_strdup(state->opt, ""); - rc = conf_parse(conf); + conf_parse_buf(conf, buf, len); talloc_free(conf); - return rc; + return 1; } -define_parser(yaboot, yaboot_parse); +struct parser __yaboot_parser = { + .name = "yaboot", + .parse = yaboot_parse, + .filenames = yaboot_conf_files, +};