OSDN Git Service

Don't check if '-n' is a current boot entry so early.
authorPeter Jones <pjones@redhat.com>
Tue, 21 Oct 2014 19:01:03 +0000 (15:01 -0400)
committerPeter Jones <pjones@redhat.com>
Tue, 21 Oct 2014 20:08:18 +0000 (16:08 -0400)
We haven't made the list yet, so it'll always be wrong.

This should fix part of https://github.com/vathpela/efibootmgr/issues/18

Signed-off-by: Peter Jones <pjones@redhat.com>
src/efibootmgr/efibootmgr.c

index c1917b5..546b55c 100644 (file)
@@ -1174,12 +1174,6 @@ parse_opts(int argc, char **argv)
                                        result);
                                exit(1);
                        }
-                       if (!is_current_boot_entry(result)) {
-                               fprintf(stderr,
-                                       "Boot entry %04lX does not exist\n",
-                                       result);
-                               exit(1);
-                       }
                        opts.bootnext = result;
                        break;
                }
@@ -1355,9 +1349,13 @@ main(int argc, char **argv)
        }
 
        if (opts.delete_bootnext) {
+               if (!is_current_boot_entry(opts.delete_bootnext))
+                       errx(17, "Boot entry %04X does not exist\n",
+                               opts.delete_bootnext);
+
                ret = efi_del_variable(EFI_GLOBAL_GUID, "BootNext");
                if (ret < 0)
-                       err(10, "Could not set BootNext");
+                       err(10, "Could not delete BootNext");
        }
 
        if (opts.delete_timeout) {