Commit 12b51bcf authored by longpanda's avatar longpanda
Browse files

Change the prompt format when check device failed. (#2094)

parent 911d5dca
...@@ -5005,39 +5005,72 @@ int ventoy_load_part_table(const char *diskname) ...@@ -5005,39 +5005,72 @@ int ventoy_load_part_table(const char *diskname)
return 0; return 0;
} }
static grub_err_t ventoy_cmd_load_part_table(grub_extcmd_context_t ctxt, int argc, char **args) static void ventoy_prompt_end(void)
{ {
int ret; int op = 0;
char c; char c;
(void)argc; grub_printf("\n\n\n");
(void)ctxt; grub_printf(" 1 --- Exit grub\n");
grub_printf(" 2 --- Reboot\n");
ret = ventoy_load_part_table(args[0]); grub_printf(" 3 --- Shut down\n");
if (ret) grub_printf("Please enter your choice: ");
{
grub_printf("\n\nPress r/h/e for the corresponding operation.\n");
grub_printf(" r --- Reboot\n");
grub_printf(" h --- Halt\n");
grub_printf(" e --- Exit grub\n");
grub_refresh(); grub_refresh();
while (1) while (1)
{ {
c = grub_getkey(); c = grub_getkey();
if (c == 'r') if (c >= '1' && c <= '3')
{
if (op == 0)
{
op = c - '0';
grub_printf("%c", c);
grub_refresh();
}
}
else if (c == '\r' || c == '\n')
{
if (op)
{
if (op == 1)
{
grub_exit();
}
else if (op == 2)
{ {
grub_reboot(); grub_reboot();
} }
else if (c == 'h') else if (op == 3)
{ {
grub_script_execute_sourcecode("halt"); grub_script_execute_sourcecode("halt");
} }
else if (c == 'e') }
}
else if (c == '\b')
{ {
grub_exit(); if (op)
{
op = 0;
grub_printf("\rPlease enter your choice: ");
grub_printf("\rPlease enter your choice: ");
grub_refresh();
}
} }
} }
}
static grub_err_t ventoy_cmd_load_part_table(grub_extcmd_context_t ctxt, int argc, char **args)
{
int ret;
(void)argc;
(void)ctxt;
ret = ventoy_load_part_table(args[0]);
if (ret)
{
ventoy_prompt_end();
} }
g_ventoy_disk_part_size[0] = ventoy_get_vtoy_partsize(0); g_ventoy_disk_part_size[0] = ventoy_get_vtoy_partsize(0);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment