On Tue, Oct 31, 2017 at 10:58:16AM +0100, René Scharfe wrote:
Show 30 quoted lines
> 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@web.de>
> ---
> 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