Re: [PATCH v2 10/26] wrapper.c: allow to create an empty file with write_file()
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 17, 2016, 22:29 UTC
- Message-ID
- <xmqqpovvgeca.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <1455629367-26193-11-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
Show 18 quoted lines
> This is used later on to create empty .git/worktrees/xxx/locked when
> "git worktree lock" is called with no reason given.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
> wrapper.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/wrapper.c b/wrapper.c
> index 29a45d2..1dc1eff 100644
> --- a/wrapper.c
> +++ b/wrapper.c
> @@ -666,7 +666,7 @@ static int write_file_v(const char *path, int fatal,
> }
> strbuf_vaddf(&sb, fmt, params);
> strbuf_complete_line(&sb);
> - if (write_in_full(fd, sb.buf, sb.len) != sb.len) {
> + if (sb.len && write_in_full(fd, sb.buf, sb.len) != sb.len) {I do not quite see how this change relates to what the log message claims this commit does. write_in_full() returns 0 when called with count==0 just fine, no?
> int err = errno; > close(fd); > strbuf_release(&sb);