From: René Scharfe Date: Tue, 31 Oct 2017 09:58:16 GMT Subject: [PATCH 2/2] sequencer: use O_TRUNC to truncate files Message-ID: <6b8e2a79-302e-7e69-00bd-f4643d5195af@web.de> In-Reply-To: <6150c80b-cb0e-06d4-63a7-a4f4a9107ab2@web.de> 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 --- 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