[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dmidecode] [PATCH 2/2] dmidecode: Simplify function dmi_table_dump
From: |
Jean Delvare |
Subject: |
[dmidecode] [PATCH 2/2] dmidecode: Simplify function dmi_table_dump |
Date: |
Mon, 27 Apr 2015 10:56:41 +0200 |
We can let function dmi_table read the memory chunk and free the
memory for us, this avoids some code duplication.
---
dmidecode.c | 22 +++++-----------------
1 file changed, 5 insertions(+), 17 deletions(-)
--- dmidecode.orig/dmidecode.c 2015-04-23 13:13:00.289298156 +0200
+++ dmidecode/dmidecode.c 2015-04-23 13:21:16.229935432 +0200
@@ -4357,20 +4357,11 @@ static void dmi_table_string(const struc
}
}
-static void dmi_table_dump(off_t base, u32 len, const char *devmem)
+static void dmi_table_dump(u8 *buf, u32 len)
{
- u8 *buf;
-
- if ((buf = mem_chunk(base, len, devmem)) == NULL)
- {
- fprintf(stderr, "Failed to read table, sorry.\n");
- return;
- }
-
if (!(opt.flags & FLAG_QUIET))
printf("# Writing %d bytes to %s.\n", len, opt.dumpfile);
write_dump(32, len, buf, opt.dumpfile, 0);
- free(buf);
}
static void dmi_table_decode(u8 *buf, u32 len, u16 num, u16 ver, u32 flags)
@@ -4502,12 +4493,6 @@ static void dmi_table(off_t base, u32 le
if (flags & FLAG_NO_FILE_OFFSET)
base = 0;
- if (opt.flags & FLAG_DUMP_BIN)
- {
- dmi_table_dump(base, len, devmem);
- return;
- }
-
if ((buf = mem_chunk(base, len, devmem)) == NULL)
{
fprintf(stderr, "Table is unreachable, sorry."
@@ -4518,7 +4503,10 @@ static void dmi_table(off_t base, u32 le
return;
}
- dmi_table_decode(buf, len, num, ver, flags);
+ if (opt.flags & FLAG_DUMP_BIN)
+ dmi_table_dump(buf, len);
+ else
+ dmi_table_decode(buf, len, num, ver, flags);
free(buf);
}
--
Jean Delvare
SUSE L3 Support