dmidecode-devel
[Top][All Lists]
Advanced

[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



reply via email to

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