pull-in break-cmd branch

This commit is contained in:
BVK Chaitanya 2010-06-12 20:53:32 +05:30
commit 6ad1216e64
223 changed files with 8288 additions and 14995 deletions

View file

@ -21,7 +21,7 @@
#include <grub/parser.h>
#include <grub/script_sh.h>
static grub_err_t
grub_err_t
grub_normal_parse_line (char *line, grub_reader_getline_t getline)
{
struct grub_script *parsed_script;
@ -41,22 +41,27 @@ grub_normal_parse_line (char *line, grub_reader_getline_t getline)
return grub_errno;
}
static struct grub_parser grub_sh_parser =
{
.name = "grub",
.parse_line = grub_normal_parse_line
};
static grub_command_t cmd_break;
static grub_command_t cmd_continue;
GRUB_MOD_INIT(sh)
void
grub_script_init (void)
{
grub_parser_register ("grub", &grub_sh_parser);
grub_register_command ("break", grub_script_break,
N_("[n]"), N_("Exit from loops"));
grub_register_command ("continue", grub_script_break,
N_("[n]"), N_("Continue loops"));
cmd_break = grub_register_command ("break", grub_script_break,
N_("[n]"), N_("Exit from loops"));
cmd_continue = grub_register_command ("continue", grub_script_break,
N_("[n]"), N_("Coninue loops"));
}
GRUB_MOD_FINI(sh)
void
grub_script_fini (void)
{
grub_parser_unregister (&grub_sh_parser);
if (cmd_break)
grub_unregister_command (cmd_break);
cmd_break = 0;
if (cmd_continue)
grub_unregister_command (cmd_continue);
cmd_continue = 0;
}