Cut off any previous content of the file to be rewritten by passing the flag O_TRUNC to open(2) instead of calling ftruncate(2) at the end. That's easier and shorter. Signed-off-by: Rene Scharfe <l.s.r@xxxxxx> --- sequencer.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sequencer.c b/sequencer.c index 17360eb38a..f93b60f615 100644 --- a/sequencer.c +++ b/sequencer.c @@ -2668,13 +2668,11 @@ int check_todo_list(void) static int rewrite_file(const char *path, const char *buf, size_t len) { int rc = 0; - int fd = open(path, O_WRONLY); + int fd = open(path, O_WRONLY | O_TRUNC); if (fd < 0) return error_errno(_("could not open '%s' for writing"), path); if (write_in_full(fd, buf, len) < 0) rc = error_errno(_("could not write to '%s'"), path); - if (!rc && ftruncate(fd, len) < 0) - rc = error_errno(_("could not truncate '%s'"), path); close(fd); return rc; } -- 2.15.0