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

Makes sense

Reply via email to