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>
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]);
}
}
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,
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)
{
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;
{
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:
#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')