summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2019-09-22 17:26:53 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2019-09-22 17:28:12 +0200
commite5129acb62675f7a405704a609de3ad9cb0acd54 (patch)
tree38e22dbc514e612c5374e83014dec23169f0368c
parent39d3252e9a8262cbe9b9eee100b57ef3ab1bc9df (diff)
downloadgenimage-e5129acb62675f7a405704a609de3ad9cb0acd54.tar.gz
genimage-e5129acb62675f7a405704a609de3ad9cb0acd54.tar.xz
extend_file: use ftruncate() to resize the image
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--util.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/util.c b/util.c
index 397b135..b1ec96f 100644
--- a/util.c
+++ b/util.c
@@ -584,7 +584,6 @@ err_out:
int extend_file(struct image *image, size_t size)
{
const char *outfile = imageoutfile(image);
- char buf = '\0';
int f;
off_t offset;
int ret = 0;
@@ -607,15 +606,10 @@ int extend_file(struct image *image, size_t size)
if ((size_t)offset == size)
goto out;
- if (lseek(f, size - 1, SEEK_SET) < 0) {
+ ret = ftruncate(f, size);
+ if (ret == -1) {
ret = -errno;
- image_error(image, "seek %s: %s\n", outfile, strerror(errno));
- goto out;
- }
- ret = write(f, &buf, 1);
- if (ret < 1) {
- ret = -errno;
- image_error(image, "write %s: %s\n", outfile, strerror(errno));
+ image_error(image, "ftruncate %s: %s\n", outfile, strerror(errno));
goto out;
}
ret = 0;