[PATCH 1/3] commands: boot: fix error code/clean up behavior when not booting
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Nov 23 11:14:30 EST 2020
The boot command won't boot if:
- There are no boot entries: we should still clean up before
returning an error
- A menu or list of found entries should be displayed: we should
exit with success
- We were doing a dry run: we should propagate the boot entry
boot method's exit code
Do the necessary.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
commands/boot.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/commands/boot.c b/commands/boot.c
index d7795bde726b..18f4e36ec733 100644
--- a/commands/boot.c
+++ b/commands/boot.c
@@ -97,19 +97,16 @@ static int do_boot(int argc, char *argv[])
if (list_empty(&entries->entries)) {
printf("Nothing bootable found\n");
- return COMMAND_ERROR;
- }
-
- if (do_list) {
- bootsources_list(entries);
+ ret = COMMAND_ERROR;
goto out;
}
- if (do_menu) {
+ if (do_list)
+ bootsources_list(entries);
+ else if (do_menu)
bootsources_menu(entries, timeout);
- goto out;
- }
+ ret = 0;
out:
bootentries_free(entries);
free(freep);
--
2.29.2
More information about the barebox
mailing list