The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=98d2608a2a686a300fdaeb45e666ff1661244260

commit 98d2608a2a686a300fdaeb45e666ff1661244260
Author:     Warner Losh <[email protected]>
AuthorDate: 2022-05-17 16:47:03 +0000
Commit:     Warner Losh <[email protected]>
CommitDate: 2023-10-27 04:01:16 +0000

    efibootmgr: support '-b bootXXXX' as an alias for '-b XXXX'
    
    Sponsored by:           Netflix
---
 usr.sbin/efibootmgr/efibootmgr.8 | 7 ++++++-
 usr.sbin/efibootmgr/efibootmgr.c | 6 +++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/usr.sbin/efibootmgr/efibootmgr.8 b/usr.sbin/efibootmgr/efibootmgr.8
index fc8da06719c5..5805b797ff5c 100644
--- a/usr.sbin/efibootmgr/efibootmgr.8
+++ b/usr.sbin/efibootmgr/efibootmgr.8
@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd February 15, 2023
+.Dd October 26, 2023
 .Dt EFIBOOTMGR 8
 .Os
 .Sh NAME
@@ -115,6 +115,11 @@ When creating or modifying an entry, use
 .Ar bootnum
 as the index.
 When creating a new entry, fail if it already exists.
+For convenience, if
+.Ar bootnum
+is prefixed with
+.Dq boot ,
+that prefix is ignored.
 .It Fl B -delete
 Delete the given
 .Ar bootnum
diff --git a/usr.sbin/efibootmgr/efibootmgr.c b/usr.sbin/efibootmgr/efibootmgr.c
index 8dcf9876486d..ce7265857391 100644
--- a/usr.sbin/efibootmgr/efibootmgr.c
+++ b/usr.sbin/efibootmgr/efibootmgr.c
@@ -202,6 +202,7 @@ static void
 parse_args(int argc, char *argv[])
 {
        int ch;
+       const char *arg;
 
        while ((ch = getopt_long(argc, argv, "AaBb:C:cdDe:EFfhk:L:l:NnOo:pTt:v",
                    lopts, NULL)) != -1) {
@@ -214,7 +215,10 @@ parse_args(int argc, char *argv[])
                        break;
                case 'b':
                        opts.has_bootnum = true;
-                       opts.bootnum = strtoul(optarg, NULL, 16);
+                       arg = optarg;
+                       if (strncasecmp(arg, "boot", 4) == 0)
+                               arg += 4;
+                       opts.bootnum = strtoul(arg, NULL, 16);
                        break;
                case 'B':
                        opts.delete = true;

Reply via email to