summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorJean Delvare <jdelvare@suse.de>2008-10-28 10:17:50 +0000
committerJean Delvare <jdelvare@suse.de>2008-10-28 10:17:50 +0000
commit98d7d95d3a6d10a00838ad95d892ad9e936dc8ee (patch)
tree515bd3d469fdb6f47d68577ebb8a187436a789a5 /util.c
parentc1666d8deb9f3e20b7b066df2417ce924586a2b8 (diff)
downloaddmidecode-git-98d7d95d3a6d10a00838ad95d892ad9e936dc8ee.tar.gz
When dumping the DMI table to a binary file, truncate the file first.
Diffstat (limited to 'util.c')
-rw-r--r--util.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/util.c b/util.c
index dfdc028..15d24a7 100644
--- a/util.c
+++ b/util.c
@@ -164,13 +164,11 @@ void *mem_chunk(size_t base, size_t len, const char *devmem)
return p;
}
-int write_dump(size_t base, size_t len, const void *data, const char *dumpfile)
+int write_dump(size_t base, size_t len, const void *data, const char *dumpfile, int add)
{
FILE *f;
- f=fopen(dumpfile, "r+b");
- if (!f && errno == ENOENT)
- f = fopen(dumpfile, "wb");
+ f = fopen(dumpfile, add ? "r+b" : "wb");
if (!f)
{
fprintf(stderr, "%s: ", dumpfile);