]> git.ozlabs.org Git - petitboot/blobdiff - discover/kboot-parser.c
Refactor parser routine conf_get_param_pair()
[petitboot] / discover / kboot-parser.c
index 23d48a401f8a82cdff8daf4035f2769d4ccc6971..ab508ec8df5b253ca7617c670693e0dbb22e2e61 100644 (file)
@@ -21,6 +21,11 @@ static void kboot_process_pair(struct conf_context *conf, const char *name,
        const char *root;
        struct boot_option *opt;
 
+       /* fixup for bare values */
+
+       if (!name)
+               return;
+
        if (conf_param_in_list(ignored_names, name))
                return;
 
@@ -52,7 +57,7 @@ static void kboot_process_pair(struct conf_context *conf, const char *name,
        for (pos++; pos;) {
                char *cl_name, *cl_value;
 
-               pos = conf_get_param_pair(pos, &cl_name, &cl_value, ' ');
+               pos = conf_get_pair_equal(conf, pos, &cl_name, &cl_value, ' ');
 
                if (!cl_name) {
                        args = talloc_asprintf_append(args, "%s ", cl_value);
@@ -133,7 +138,7 @@ static int kboot_parse(struct discover_context *dc)
        conf = talloc_zero(dc, struct conf_context);
 
        if (!conf)
-               return -1;
+               return 0;
 
        conf->dc = dc;
        conf->global_options = kboot_global_options,
@@ -148,4 +153,4 @@ static int kboot_parse(struct discover_context *dc)
        return rc;
 }
 
-define_parser(kboot, 98, kboot_parse);
+define_parser(kboot, kboot_parse);