chiark / gitweb /
bootctl: show "n/a" for empty boot option labels
authorKay Sievers <kay@vrfy.org>
Sun, 17 Feb 2013 21:28:21 +0000 (22:28 +0100)
committerKay Sievers <kay@vrfy.org>
Sun, 17 Feb 2013 21:28:21 +0000 (22:28 +0100)
src/boot/boot-efi.c
src/boot/bootctl.c

index faa86805d467f6d2daa8e09f32a023151f11a955..51f12c0c1a53fe287635ef8ffe2dac6387c8e775 100644 (file)
@@ -75,7 +75,13 @@ static int get_boot_entries(struct boot_info *info) {
                 err = efi_get_boot_option(list[i], &e->title, &e->part_uuid, &e->path);
                 if (err < 0)
                         continue;
+
+                if (isempty(e->title)) {
+                        free(e->title);
+                        e->title = NULL;
+                }
                 tilt_slashes(e->path);
+
                 e->id = list[i];
                 info->fw_entries_count++;
         }
index 2f1f6438cdbb6621e39f1bcc73ca90b722484af9..2a42898e39c0a261e2803e2932353ced5001bb7c 100644 (file)
@@ -149,7 +149,7 @@ static int show_status(char **args, unsigned n) {
                 printf("      Firmware: %s (%s)\n", info->fw_type, strna(info->fw_info));
 
         if (info->fw_entry_active >= 0) {
-                printf("Firmware entry: %s\n", info->fw_entries[info->fw_entry_active].title);
+                printf("Firmware entry: %s\n", strna(info->fw_entries[info->fw_entry_active].title));
                 if (info->fw_entries[info->fw_entry_active].path)
                         printf("                %s\n", info->fw_entries[info->fw_entry_active].path);
                 if (!sd_id128_equal(info->fw_entries[info->fw_entry_active].part_uuid, SD_ID128_NULL))
@@ -165,7 +165,7 @@ static int show_status(char **args, unsigned n) {
                                SD_ID128_FORMAT_VAL(info->loader_part_uuid));
 
                 if (info->loader_entry_active >= 0) {
-                        printf("  Loader entry: %s\n", info->loader_entries[info->loader_entry_active].title);
+                        printf("  Loader entry: %s\n", strna(info->loader_entries[info->loader_entry_active].title));
                         printf("                %s\n", info->loader_entries[info->loader_entry_active].path);
                 }