diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2013-03-12 16:13:55 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2013-04-29 14:31:12 +1000 |
commit | 06a49ebdfc795a70b938f5aee29f3c488ef9fc21 (patch) | |
tree | 57ef497f90ed6dbbccbdd0cedae6e7f0989bd150 /discover/yaboot-parser.c | |
parent | 39e06f5cfda0ed0c1eeb7a7604a3d05dda81ccf1 (diff) | |
download | talos-petitboot-06a49ebdfc795a70b938f5aee29f3c488ef9fc21.tar.gz talos-petitboot-06a49ebdfc795a70b938f5aee29f3c488ef9fc21.zip |
parsers: change parser.parse to accept a buffer
Rather than having each of the parsers do their own open(), read(), etc,
use the registered filenames array to find & open parser conf files.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'discover/yaboot-parser.c')
-rw-r--r-- | discover/yaboot-parser.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/discover/yaboot-parser.c b/discover/yaboot-parser.c index 0477d38..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,10 @@ 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; } struct parser __yaboot_parser = { |