X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fgrub2%2Fparser.y;h=02ca7b2799f53f57bc9ef55f6dcfacbdae880a67;hp=292ce0725b6af6bdffecc8ddad80c9e11f660460;hb=07fe1662d2a49f4e9e3c5b0451d141f69328262d;hpb=1a9af828d9ad0da0efa7af286db78c8904344e6b diff --git a/discover/grub2/parser.y b/discover/grub2/parser.y index 292ce07..02ca7b2 100644 --- a/discover/grub2/parser.y +++ b/discover/grub2/parser.y @@ -84,7 +84,9 @@ statements: /* empty */ { $$ = $1; } -conditional: statement TOKEN_EOL "then" TOKEN_EOL statements { +sep: TOKEN_DELIM | TOKEN_EOL; + +conditional: statement TOKEN_EOL "then" sep statements { $$ = create_statement_conditional(parser, $1, $5); } @@ -112,7 +114,7 @@ statement: } | "if" TOKEN_DELIM conditional elifs - "else" TOKEN_EOL + "else" sep statements "fi" { $$ = create_statement_if(parser, $3, $4, $7); @@ -227,7 +229,7 @@ struct grub2_statement *create_statement_block(struct grub2_parser *parser, struct grub2_statement_block *stmt = talloc(parser, struct grub2_statement_block); stmt->st.type = STMT_TYPE_BLOCK; - stmt->st.exec = NULL; + stmt->st.exec = statement_block_execute; stmt->statements = stmts; return &stmt->st; }