context.extcmd = ext;
context.script_params = scripts;
- /* Dynamic commands should not perform option parsing before
- corresponding module gets loaded. */
- if (cmd->flags & GRUB_COMMAND_FLAG_DYNCMD)
+ if (! ext->options)
{
ret = (ext->func) (&context, argc, args);
return ret;
ret = grub_errno;
grub_free (state);
-
return ret;
}
grub_cmd_menuentry (grub_extcmd_context_t ctxt, int argc, char **args)
{
char *src;
+ unsigned len;
grub_err_t r;
/* XXX Rewrite to make use of already parsed menu definition. */
src = args[argc - 1];
args[argc - 1] = '\0';
+ len = grub_strlen(src);
+ src[len - 1] = '\0';
- r = grub_normal_add_menu_entry (argc - 1, (const char **) args, src);
+ r = grub_normal_add_menu_entry (argc - 1, (const char **) args, src + 1);
+ src[len - 1] = '}';
args[argc - 1] = src;
return r;
}