diff options
author | Geoff Levand <geoff@infradead.org> | 2013-05-17 14:28:45 +0800 |
---|---|---|
committer | Geoff Levand <geoff@infradead.org> | 2013-05-17 17:43:54 +0800 |
commit | c019c1cea9c12aff4aa945414bb2841d085d5b10 (patch) | |
tree | fbe852ff0e272a320aebe087d411cf2268a78e52 | |
parent | 651e0c19b505aad965b2f7988c1bf7a067d93c0d (diff) | |
download | talos-petitboot-c019c1cea9c12aff4aa945414bb2841d085d5b10.tar.gz talos-petitboot-c019c1cea9c12aff4aa945414bb2841d085d5b10.zip |
parser/grub2: Better menuentry parsing
Grub2 menuentry entry text can use double or single quotes.
Signed-off-by: Geoff Levand <geoff@infradead.org>
-rw-r--r-- | discover/grub2-parser.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/discover/grub2-parser.c b/discover/grub2-parser.c index a2308ee..bd08ec0 100644 --- a/discover/grub2-parser.c +++ b/discover/grub2-parser.c @@ -141,8 +141,6 @@ static void grub2_process_pair(struct conf_context *conf, const char *name, return; if (streq(name, "menuentry")) { - char *sep; - /* complete any existing option... */ if (state->opt) grub2_finish(conf); @@ -151,10 +149,7 @@ static void grub2_process_pair(struct conf_context *conf, const char *name, opt = discover_boot_option_create(conf->dc, conf->dc->device); opt->option->boot_args = talloc_strdup(opt->option, ""); - sep = strchr(value, '\''); - - if (sep) - *sep = 0; + value = strtok(value, "\'{\""); opt->option->id = talloc_asprintf(opt->option, "%s#%s", dev->id, value); |