diff options
author | Jean Delvare <jdelvare@suse.de> | 2008-10-28 10:17:50 +0000 |
---|---|---|
committer | Jean Delvare <jdelvare@suse.de> | 2008-10-28 10:17:50 +0000 |
commit | 98d7d95d3a6d10a00838ad95d892ad9e936dc8ee (patch) | |
tree | 515bd3d469fdb6f47d68577ebb8a187436a789a5 /util.c | |
parent | c1666d8deb9f3e20b7b066df2417ce924586a2b8 (diff) | |
download | dmidecode-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.c | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -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); |