=== modified file 'grub-core/commands/menuentry.c' --- grub-core/commands/menuentry.c 2012-03-01 21:38:32 +0000 +++ grub-core/commands/menuentry.c 2012-03-02 21:46:55 +0000 @@ -25,6 +25,14 @@ #include #include +enum + { + O_CLASS = 0, + O_USERS, + O_HOTKEY, + O_SOURCE, + }; + static const struct grub_arg_option options[] = { {"class", 1, GRUB_ARG_OPTION_REPEATABLE, @@ -324,18 +332,18 @@ if (! argc) return grub_error (GRUB_ERR_BAD_ARGUMENT, "missing arguments"); - if (ctxt->state[3].set && ctxt->script) + if (ctxt->state[O_SOURCE].set && ctxt->script) return grub_error (GRUB_ERR_BAD_ARGUMENT, "multiple menuentry definitions"); - if (! ctxt->state[3].set && ! ctxt->script) + if (! ctxt->state[O_SOURCE].set && ! ctxt->script) return grub_error (GRUB_ERR_BAD_ARGUMENT, "no menuentry definition"); if (! ctxt->script) return grub_normal_add_menu_entry (argc, (const char **) args, - (ctxt->state[0].set ? ctxt->state[0].args - : NULL), ctxt->state[1].arg, - ctxt->state[2].arg, 0, - ctxt->state[3].arg, + (ctxt->state[O_CLASS].set ? ctxt->state[O_CLASS].args + : NULL), ctxt->state[O_USERS].arg, + ctxt->state[O_HOTKEY].arg, 0, + ctxt->state[O_SOURCE].arg, ctxt->extcmd->cmd->name[0] == 's'); src = args[argc - 1]; @@ -350,8 +358,8 @@ return grub_errno; r = grub_normal_add_menu_entry (argc - 1, (const char **) args, - ctxt->state[0].args, ctxt->state[1].arg, - ctxt->state[2].arg, prefix, src + 1, + ctxt->state[O_CLASS].args, ctxt->state[O_USERS].arg, + ctxt->state[O_HOTKEY].arg, prefix, src + 1, ctxt->extcmd->cmd->name[0] == 's'); src[len - 1] = ch;