Make the code more generic, and not specific for SMBIOS 2.1 entry points.
Signed-off-by: Eduardo Habkost ehabkost@redhat.com --- src/fw/biostables.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c index 1adc694c..d22ab643 100644 --- a/src/fw/biostables.c +++ b/src/fw/biostables.c @@ -327,9 +327,11 @@ void *smbios_get_tables(u32 *length) void display_uuid(void) { - struct smbios_type_1 *tbl = smbios_21_next(SMBios21Addr, NULL); + u32 smbios_len = 0; + void *smbios_tables = smbios_get_tables(&smbios_len); + struct smbios_type_1 *tbl = smbios_next(smbios_tables, smbios_len, NULL); int minlen = offsetof(struct smbios_type_1, uuid) + sizeof(tbl->uuid); - for (; tbl; tbl = smbios_21_next(SMBios21Addr, tbl)) + for (; tbl; tbl = smbios_next(smbios_tables, smbios_len, tbl)) if (tbl->header.type == 1 && tbl->header.length >= minlen) { u8 *uuid = tbl->uuid; u8 empty_uuid[sizeof(tbl->uuid)] = { 0 };