# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: address@hidden # target_branch: file:///home/bvk/Work/grub2/mainline/ # testament_sha1: 0a426fe707fc58ac1e305121ace0001b278204fd # timestamp: 2010-05-05 14:03:57 +0530 # base_revision_id: address@hidden # # Begin patch === modified file 'include/grub/script_sh.h' --- include/grub/script_sh.h 2010-03-26 15:43:06 +0000 +++ include/grub/script_sh.h 2010-05-04 06:25:45 +0000 @@ -82,15 +82,6 @@ struct grub_script_arglist *arglist; }; -/* A block of commands, this can be used to group commands. */ -struct grub_script_cmdblock -{ - struct grub_script_cmd cmd; - - /* A chain of commands. */ - struct grub_script_cmd *cmdlist; -}; - /* An if statement. */ struct grub_script_cmdif { @@ -234,8 +225,6 @@ struct grub_script_cmd * grub_script_create_cmdline (struct grub_parser_param *state, struct grub_script_arglist *arglist); -struct grub_script_cmd * -grub_script_create_cmdblock (struct grub_parser_param *state); struct grub_script_cmd * grub_script_create_cmdif (struct grub_parser_param *state, @@ -262,9 +251,9 @@ int options); struct grub_script_cmd * -grub_script_add_cmd (struct grub_parser_param *state, - struct grub_script_cmdblock *cmdblock, - struct grub_script_cmd *cmd); +grub_script_append_cmd (struct grub_parser_param *state, + struct grub_script_cmd *list, + struct grub_script_cmd *last); struct grub_script_arg * grub_script_arg_add (struct grub_parser_param *state, struct grub_script_arg *arg, @@ -301,7 +290,7 @@ /* Commands to execute, don't use these directly. */ grub_err_t grub_script_execute_cmdline (struct grub_script_cmd *cmd); -grub_err_t grub_script_execute_cmdblock (struct grub_script_cmd *cmd); +grub_err_t grub_script_execute_cmdlist (struct grub_script_cmd *cmd); grub_err_t grub_script_execute_cmdif (struct grub_script_cmd *cmd); grub_err_t grub_script_execute_cmdfor (struct grub_script_cmd *cmd); grub_err_t grub_script_execute_cmdwhile (struct grub_script_cmd *cmd); === modified file 'script/execute.c' --- script/execute.c 2010-03-26 15:43:06 +0000 +++ script/execute.c 2010-05-04 06:25:45 +0000 @@ -269,13 +269,13 @@ /* Execute a block of one or more commands. */ grub_err_t -grub_script_execute_cmdblock (struct grub_script_cmd *cmd) +grub_script_execute_cmdlist (struct grub_script_cmd *list) { int ret = 0; - struct grub_script_cmdblock *cmdblock = (struct grub_script_cmdblock *) cmd; + struct grub_script_cmd *cmd; /* Loop over every command and execute it. */ - for (cmd = cmdblock->cmdlist; cmd; cmd = cmd->next) + for (cmd = list->next; cmd; cmd = cmd->next) ret = grub_script_execute_cmd (cmd); return ret; === modified file 'script/parser.y' --- script/parser.y 2010-04-09 17:02:58 +0000 +++ script/parser.y 2010-05-04 06:25:45 +0000 @@ -96,9 +96,7 @@ } | script statement delimiter newlines0 { - struct grub_script_cmdblock *cmdblock; - cmdblock = (struct grub_script_cmdblock *) $1; - $$ = grub_script_add_cmd (state, cmdblock, $2); + $$ = grub_script_append_cmd (state, $1, $2); } | error { @@ -183,13 +181,11 @@ /* A list of commands. */ commands1: newlines0 command { - $$ = grub_script_add_cmd (state, 0, $2); + $$ = grub_script_append_cmd (state, 0, $2); } | commands1 delimiters1 command { - struct grub_script_cmdblock *cmdblock; - cmdblock = (struct grub_script_cmdblock *) $1; - $$ = grub_script_add_cmd (state, cmdblock, $3); + $$ = grub_script_append_cmd (state, $1, $3); } ; === modified file 'script/script.c' --- script/script.c 2010-01-23 05:49:26 +0000 +++ script/script.c 2010-05-04 06:25:45 +0000 @@ -291,46 +291,40 @@ return (struct grub_script_cmd *) cmd; } -/* Create a block of commands. CMD contains the command that should - be added at the end of CMDBLOCK's list. If CMDBLOCK is zero, a new - cmdblock will be created. */ +/* Create a chain of commands. LAST contains the command that should + be added at the end of LIST's list. If LIST is zero, a new list + will be created. */ struct grub_script_cmd * -grub_script_add_cmd (struct grub_parser_param *state, - struct grub_script_cmdblock *cmdblock, - struct grub_script_cmd *cmd) +grub_script_append_cmd (struct grub_parser_param *state, + struct grub_script_cmd *list, + struct grub_script_cmd *last) { struct grub_script_cmd *ptr; - grub_dprintf ("scripting", "cmdblock\n"); - - if (!cmd) - return (struct grub_script_cmd *) cmdblock; - - if (!cmdblock) + grub_dprintf ("scripting", "append command\n"); + + if (! last) + return list; + + if (! list) { - cmdblock = grub_script_malloc (state, sizeof (*cmdblock)); - if (!cmdblock) + list = grub_script_malloc (state, sizeof (*list)); + if (! list) return 0; - cmdblock->cmd.exec = grub_script_execute_cmdblock; - cmdblock->cmd.next = 0; - cmdblock->cmdlist = cmd; - cmd->next = 0; + list->exec = grub_script_execute_cmdlist; + list->next = last; } else { - if (!cmdblock->cmdlist) - cmdblock->cmdlist = cmd; - else - { - ptr = cmdblock->cmdlist; - while (ptr->next) - ptr = ptr->next; - ptr->next = cmd; - } + ptr = list; + while (ptr->next) + ptr = ptr->next; + + ptr->next = last; } - return (struct grub_script_cmd *) cmdblock; + return list; } === modified file 'util/grub-script-check.c' --- util/grub-script-check.c 2010-04-10 13:48:24 +0000 +++ util/grub-script-check.c 2010-05-04 06:25:45 +0000 @@ -70,7 +70,7 @@ } grub_err_t -grub_script_execute_cmdblock (struct grub_script_cmd *cmd __attribute__ ((unused))) +grub_script_execute_cmdlist (struct grub_script_cmd *cmd __attribute__ ((unused))) { return 0; } # Begin bundle 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 QkNcFGOQ