From 21a829a3a6f5e7d9028059df8057fdf8bce8fe06 Mon Sep 17 00:00:00 2001 From: Leah Rowe <leah@libreboot.org> Date: Sun, 5 Nov 2023 16:14:58 +0000 Subject: [PATCH 11/22] don't print missing prefix errors on the screen we do actually set the prefix. this patch modifies grub to still set grub_errno and return accordingly, so the behaviour is otherwise identical, but it will no longer print a warning message on the screen. Signed-off-by: Leah Rowe <leah@libreboot.org> --- grub-core/commands/keylayouts.c | 2 +- grub-core/commands/loadenv.c | 2 +- grub-core/commands/nativedisk.c | 2 +- grub-core/efiemu/main.c | 3 +-- grub-core/font/font.c | 2 +- grub-core/kern/dl.c | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/grub-core/commands/keylayouts.c b/grub-core/commands/keylayouts.c index 445fa0601..00bcf7025 100644 --- a/grub-core/commands/keylayouts.c +++ b/grub-core/commands/keylayouts.c @@ -211,7 +211,7 @@ grub_cmd_keymap (struct grub_command *cmd __attribute__ ((unused)), { const char *prefix = grub_env_get ("prefix"); if (!prefix) - return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("variable `%s' isn't set"), "prefix"); + return (grub_errno = GRUB_ERR_BAD_ARGUMENT); filename = grub_xasprintf ("%s/layouts/%s.gkb", prefix, argv[0]); if (!filename) return grub_errno; diff --git a/grub-core/commands/loadenv.c b/grub-core/commands/loadenv.c index 166445849..699b39bfa 100644 --- a/grub-core/commands/loadenv.c +++ b/grub-core/commands/loadenv.c @@ -58,7 +58,7 @@ open_envblk_file (char *filename, prefix = grub_env_get ("prefix"); if (! prefix) { - grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix"); + grub_errno = GRUB_ERR_FILE_NOT_FOUND; return 0; } diff --git a/grub-core/commands/nativedisk.c b/grub-core/commands/nativedisk.c index 580c8d3b0..6806bff9c 100644 --- a/grub-core/commands/nativedisk.c +++ b/grub-core/commands/nativedisk.c @@ -186,7 +186,7 @@ grub_cmd_nativedisk (grub_command_t cmd __attribute__ ((unused)), prefix = grub_env_get ("prefix"); if (! prefix) - return grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix"); + return (grub_errno = GRUB_ERR_FILE_NOT_FOUND); if (prefix) path_prefix = (prefix[0] == '(') ? grub_strchr (prefix, ')') : NULL; diff --git a/grub-core/efiemu/main.c b/grub-core/efiemu/main.c index e7037f4ed..e5d4dbff1 100644 --- a/grub-core/efiemu/main.c +++ b/grub-core/efiemu/main.c @@ -231,8 +231,7 @@ grub_efiemu_autocore (void) prefix = grub_env_get ("prefix"); if (! prefix) - return grub_error (GRUB_ERR_FILE_NOT_FOUND, - N_("variable `%s' isn't set"), "prefix"); + return (grub_errno = GRUB_ERR_FILE_NOT_FOUND); suffix = grub_efiemu_get_default_core_name (); diff --git a/grub-core/font/font.c b/grub-core/font/font.c index 18de52562..2a0fea6c8 100644 --- a/grub-core/font/font.c +++ b/grub-core/font/font.c @@ -461,7 +461,7 @@ grub_font_load (const char *filename) if (!prefix) { - grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix"); + grub_errno = GRUB_ERR_FILE_NOT_FOUND; goto fail; } file = try_open_from_prefix (prefix, filename); diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c index 4011e2d15..af3bd00d0 100644 --- a/grub-core/kern/dl.c +++ b/grub-core/kern/dl.c @@ -758,7 +758,7 @@ grub_dl_load (const char *name) return 0; if (! grub_dl_dir) { - grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix"); + grub_errno = GRUB_ERR_FILE_NOT_FOUND; return 0; } -- 2.39.2