]> git.ozlabs.org Git - petitboot/blobdiff - discover/grub2/grub2.c
discover/grub2: Populate $prefix from config file location
[petitboot] / discover / grub2 / grub2.c
index 9a4612714312c419fcf1efc1cc0eeb7776f78632..7f63c351eedb25f2e161730fa26fb5a665de219f 100644 (file)
@@ -87,7 +87,7 @@ bool resolve_grub2_resource(struct device_handler *handler,
 }
 
 static int grub2_parse(struct discover_context *dc)
-       {
+{
        const char * const *filename;
        struct grub2_parser *parser;
        int len, rc;
@@ -97,18 +97,18 @@ static int grub2_parse(struct discover_context *dc)
        if (dc->event)
                return -1;
 
-       parser = grub2_parser_create(dc);
-
        for (filename = grub2_conf_files; *filename; filename++) {
                rc = parser_request_file(dc, dc->device, *filename, &buf, &len);
                if (rc)
                        continue;
 
-               grub2_parser_parse(parser, buf, len);
+               parser = grub2_parser_create(dc);
+               grub2_parser_parse(parser, *filename, buf, len);
                talloc_free(buf);
+               talloc_free(parser);
+               break;
        }
 
-       talloc_free(parser);
 
        return 0;
 }