grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v4 4/8] grub-core: Make use of guid printf format specifier


From: Oliver Steffen
Subject: [PATCH v4 4/8] grub-core: Make use of guid printf format specifier
Date: Tue, 14 Mar 2023 13:04:54 +0100

Use the new printf format specifier %pG.

Fixes the text representation of GUIDs in the output of the lsefisystab
command.

Signed-off-by: Oliver Steffen <osteffen@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
 grub-core/commands/efi/lsefi.c       | 13 +------------
 grub-core/commands/efi/lsefisystab.c |  6 +-----
 grub-core/commands/probe.c           |  9 +--------
 grub-core/kern/efi/efi.c             | 28 ++--------------------------
 grub-core/loader/i386/xnu.c          |  9 ++-------
 5 files changed, 7 insertions(+), 58 deletions(-)

diff --git a/grub-core/commands/efi/lsefi.c b/grub-core/commands/efi/lsefi.c
index ff3e71a91..f9c18df2b 100644
--- a/grub-core/commands/efi/lsefi.c
+++ b/grub-core/commands/efi/lsefi.c
@@ -123,18 +123,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]);
        }
 
     }
diff --git a/grub-core/commands/efi/lsefisystab.c 
b/grub-core/commands/efi/lsefisystab.c
index eff8c41f3..79ccee12a 100644
--- a/grub-core/commands/efi/lsefisystab.c
+++ b/grub-core/commands/efi/lsefisystab.c
@@ -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,
diff --git a/grub-core/commands/probe.c b/grub-core/commands/probe.c
index 9a80ea54f..4eee8f5ac 100644
--- a/grub-core/commands/probe.c
+++ b/grub-core/commands/probe.c
@@ -130,14 +130,7 @@ 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]);
+             grub_snprintf (val, sizeof(val), "%pG", guid);
            }
          else if (grub_strcmp(dev->disk->partition->partmap->name, "msdos") == 
0)
            {
diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
index 21540b739..8df861a59 100644
--- a/grub-core/kern/efi/efi.c
+++ b/grub-core/kern/efi/efi.c
@@ -544,20 +544,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;
@@ -928,18 +915,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:
diff --git a/grub-core/loader/i386/xnu.c b/grub-core/loader/i386/xnu.c
index 93ba4476d..4e31ce99a 100644
--- a/grub-core/loader/i386/xnu.c
+++ b/grub-core/loader/i386/xnu.c
@@ -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')
-- 
2.39.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]