]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
guid: Make use of GUID printf format specifier
authorOliver Steffen <osteffen@redhat.com>
Fri, 26 May 2023 11:35:45 +0000 (13:35 +0200)
committerDaniel Kiper <daniel.kiper@oracle.com>
Thu, 1 Jun 2023 09:45:00 +0000 (11:45 +0200)
Use the new printf format specifier %pG.

Fixes the text representation of GUIDs in the output of the lsefisystab
command (missing 4th dash).

Signed-off-by: Oliver Steffen <osteffen@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/commands/efi/lsefi.c
grub-core/commands/efi/lsefisystab.c
grub-core/commands/probe.c
grub-core/kern/efi/efi.c
grub-core/loader/i386/xnu.c

index 6935cd302150b57ae0df937a7a80f5cf75876a47..05e2e511e98dffc635a3cad4b5b75612a3455e75 100644 (file)
@@ -124,18 +124,7 @@ grub_cmd_lsefi (grub_command_t cmd __attribute__ ((unused)),
          if (k < ARRAY_SIZE (known_protocols))
            grub_printf ("  %s\n", known_protocols[k].name);
          else
-           grub_printf ("  %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x\n",
-                        protocols[j]->data1,
-                        protocols[j]->data2,
-                        protocols[j]->data3,
-                        (unsigned) protocols[j]->data4[0],
-                        (unsigned) protocols[j]->data4[1],
-                        (unsigned) protocols[j]->data4[2],
-                        (unsigned) protocols[j]->data4[3],
-                        (unsigned) protocols[j]->data4[4],
-                        (unsigned) protocols[j]->data4[5],
-                        (unsigned) protocols[j]->data4[6],
-                        (unsigned) protocols[j]->data4[7]);
+           grub_printf ("  %pG\n", protocols[j]);
        }
 
     }
index eff8c41f3bb9431067e47f3db0be1aa7708eb974..79ccee12a47843266cc1ac920f38bab3e30351a5 100644 (file)
@@ -96,11 +96,7 @@ grub_cmd_lsefisystab (struct grub_command *cmd __attribute__ ((unused)),
 
       grub_printf ("%p  ", t->vendor_table);
 
-      grub_printf ("%08x-%04x-%04x-",
-                  t->vendor_guid.data1, t->vendor_guid.data2,
-                  t->vendor_guid.data3);
-      for (j = 0; j < 8; j++)
-       grub_printf ("%02x", t->vendor_guid.data4[j]);
+      grub_printf ("%pG", &t->vendor_guid);
 
       for (j = 0; j < ARRAY_SIZE (guid_mappings); j++)
        if (grub_memcmp (&guid_mappings[j].guid, &t->vendor_guid,
index cc8c055861a775a42b108375f6d2657fc93d520e..be9637f33f38d16df6779d7f8c69f3d838dfd0e0 100644 (file)
@@ -130,14 +130,10 @@ grub_cmd_probe (grub_extcmd_context_t ctxt, int argc, char **args)
                  return grub_errno;
                }
              guid = &entry.guid;
-             grub_snprintf (val, sizeof(val),
-                            "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
-                            grub_le_to_cpu32 (guid->data1),
-                            grub_le_to_cpu16 (guid->data2),
-                            grub_le_to_cpu16 (guid->data3),
-                            guid->data4[0], guid->data4[1], guid->data4[2],
-                            guid->data4[3], guid->data4[4], guid->data4[5],
-                            guid->data4[6], guid->data4[7]);
+             guid->data1 = grub_le_to_cpu32 (guid->data1);
+             guid->data2 = grub_le_to_cpu16 (guid->data2);
+             guid->data3 = grub_le_to_cpu16 (guid->data3);
+             grub_snprintf (val, sizeof(val), "%pG", guid);
            }
          else if (grub_strcmp(dev->disk->partition->partmap->name, "msdos") == 0)
            {
index f6092771a72d37fdbcf82c24fec3d21424856b16..7d674d074993c7eab30238c6b34382ee21c66528 100644 (file)
@@ -545,20 +545,7 @@ static void
 dump_vendor_path (const char *type, grub_efi_vendor_device_path_t *vendor)
 {
   grub_uint32_t vendor_data_len = vendor->header.length - sizeof (*vendor);
-  grub_printf ("/%sVendor(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)[%x: ",
-              type,
-              (unsigned) vendor->vendor_guid.data1,
-              (unsigned) vendor->vendor_guid.data2,
-              (unsigned) vendor->vendor_guid.data3,
-              (unsigned) vendor->vendor_guid.data4[0],
-              (unsigned) vendor->vendor_guid.data4[1],
-              (unsigned) vendor->vendor_guid.data4[2],
-              (unsigned) vendor->vendor_guid.data4[3],
-              (unsigned) vendor->vendor_guid.data4[4],
-              (unsigned) vendor->vendor_guid.data4[5],
-              (unsigned) vendor->vendor_guid.data4[6],
-              (unsigned) vendor->vendor_guid.data4[7],
-              vendor_data_len);
+  grub_printf ("/%sVendor(%pG)[%x: ", type, &vendor->vendor_guid, vendor_data_len);
   if (vendor->header.length > sizeof (*vendor))
     {
       grub_uint32_t i;
@@ -929,18 +916,7 @@ grub_efi_print_device_path (grub_efi_device_path_t *dp)
              {
                grub_efi_protocol_device_path_t *proto
                  = (grub_efi_protocol_device_path_t *) dp;
-               grub_printf ("/Protocol(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)",
-                            (unsigned) proto->guid.data1,
-                            (unsigned) proto->guid.data2,
-                            (unsigned) proto->guid.data3,
-                            (unsigned) proto->guid.data4[0],
-                            (unsigned) proto->guid.data4[1],
-                            (unsigned) proto->guid.data4[2],
-                            (unsigned) proto->guid.data4[3],
-                            (unsigned) proto->guid.data4[4],
-                            (unsigned) proto->guid.data4[5],
-                            (unsigned) proto->guid.data4[6],
-                            (unsigned) proto->guid.data4[7]);
+               grub_printf ("/Protocol(%pG)",&proto->guid);
              }
              break;
            default:
index 93ba4476d6eab10ea40b86e377f54dd7c5d2e513..4e31ce99ae96d5ecd2ff2ffcda0d659d1c83c0e9 100644 (file)
@@ -726,13 +726,8 @@ grub_cpu_xnu_fill_devicetree (grub_uint64_t *fsbfreq_out)
 #endif
 
       /* The name of key for new table. */
-      grub_snprintf (guidbuf, sizeof (guidbuf), "%08x-%04x-%04x-%02x%02x-",
-                    guid.data1, guid.data2, guid.data3, guid.data4[0],
-                    guid.data4[1]);
-      for (j = 2; j < 8; j++)
-       grub_snprintf (guidbuf + grub_strlen (guidbuf),
-                      sizeof (guidbuf) - grub_strlen (guidbuf),
-                      "%02x", guid.data4[j]);
+      grub_snprintf (guidbuf, sizeof (guidbuf), "%pG", &guid);
+
       /* For some reason GUID has to be in uppercase. */
       for (j = 0; guidbuf[j] ; j++)
        if (guidbuf[j] >= 'a' && guidbuf[j] <= 'f')