summaryrefslogtreecommitdiffstats
path: root/discover/grub2/script.c
diff options
context:
space:
mode:
Diffstat (limited to 'discover/grub2/script.c')
-rw-r--r--discover/grub2/script.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/discover/grub2/script.c b/discover/grub2/script.c
index 5fb13aa..43259aa 100644
--- a/discover/grub2/script.c
+++ b/discover/grub2/script.c
@@ -9,6 +9,8 @@
#define to_stmt_simple(stmt) \
container_of(stmt, struct grub2_statement_simple, st)
+#define to_stmt_block(stmt) \
+ container_of(stmt, struct grub2_statement_block, st)
#define to_stmt_if(stmt) \
container_of(stmt, struct grub2_statement_if, st)
#define to_stmt_menuentry(stmt) \
@@ -254,6 +256,13 @@ int statement_simple_execute(struct grub2_script *script,
return rc;
}
+int statement_block_execute(struct grub2_script *script,
+ struct grub2_statement *statement)
+{
+ struct grub2_statement_block *st = to_stmt_block(statement);
+ return statements_execute(script, st->statements);
+}
+
/* returns 0 if the statement was executed, 1 otherwise */
static int statement_conditional_execute(struct grub2_script *script,
struct grub2_statement *statement, bool *executed)
OpenPOWER on IntegriCloud