Re: [PATCH v5 19/27] sequencer: stop releasing the strbuf in write_message()
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 21, 2016, 18:30 UTC
- Message-ID
- <xmqqr379blls.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <c89508366501c17e7363a7d5c631fce9b3750cd2.1477052405.git.johannes.schindelin@gmx.de>
Johannes Schindelin <johannes.schindelin@gmx.de> writes:
Show 6 quoted lines
> Nothing in the name "write_message()" suggests that the function > releases the strbuf passed to it. So let's release the strbuf in the > caller instead. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > ---
I agree that it makes quite a lot of sense from the point of view of "taste in the API design".
Show 23 quoted lines
> sequencer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sequencer.c b/sequencer.c
> index d74fdce..745c86f 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -243,7 +243,6 @@ static int write_message(struct strbuf *msgbuf, const char *filename)
> return error_errno(_("Could not lock '%s'"), filename);
> if (write_in_full(msg_fd, msgbuf->buf, msgbuf->len) < 0)
> return error_errno(_("Could not write to %s"), filename);
> - strbuf_release(msgbuf);
> if (commit_lock_file(&msg_file) < 0)
> return error(_("Error wrapping up %s."), filename);
>
> @@ -759,6 +758,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
> free_commit_list(common);
> free_commit_list(remotes);
> }
> + strbuf_release(&msgbuf);
>
> /*
> * If the merge was clean or if it failed due to conflict, we write