git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] sequencer: trivial fix

From
Joachim Schmitz <jojo@schmitz-digital.de>
Date
May 29, 2013, 09:58 UTC
Message-ID
<ko4jf7$e4d$1@ger.gmane.org>
In-Reply-To
<51a568db9c9b8_807b33e18996fa@nysa.mail>
Felipe Contreras wrote:
Show 64 quoted lines
> Junio C Hamano wrote:
>> Neil Horman <nhorman@tuxdriver.com> writes:
>>
>>> On Mon, May 27, 2013 at 11:52:18AM -0500, Felipe Contreras wrote:
>>>> We should free objects before leaving.
>>>>
>>>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
>>>> ---
>>>>  sequencer.c | 7 +++++--
>>>>  1 file changed, 5 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/sequencer.c b/sequencer.c
>>>> index ab6f8a7..7eeae2f 100644
>>>> --- a/sequencer.c
>>>> +++ b/sequencer.c
>>>> @@ -626,12 +626,15 @@ static int do_pick_commit(struct commit
>>>>  *commit, struct replay_opts *opts)
>>>>  rerere(opts->allow_rerere_auto); } else {
>>>>  int allow = allow_empty(opts, commit);
>>>> - if (allow < 0)
>>>> - return allow;
>>>> + if (allow < 0) {
>>>> + res = allow;
>>>> + goto leave;
>>>> + }
>>>>  if (!opts->no_commit)
>>>>  res = run_git_commit(defmsg, opts, allow);
>>>>  }
>>>>
>>>> +leave:
>>>>  free_message(&msg);
>>>>  free(defmsg);
>>>>
>>>> --
>>>> 1.8.3.rc3.312.g47657de
>>>>
>>>>
>>> Acked-by: Neil Horman <nhorman@tuxdriver.com>
>>
>> This is better done without "goto" in general.
>>
>> The other patch 2/2/ adds one more "we need to exit from the middle
>> of the flow" and makes it look handier to add an exit label here,
>> but it would be even better to express the logic of that patch as a
>> normal cascade of if/else if/..., which is small enough and we do
>> not need the "leave:" label.
>
> Linux kernel developers would disagree. In C 'goto' is quite of then
> the only sane option, and you can see 'goto' used in the Linux kernel
> all over the place for that reason.
>
> In this particular case it also makes perfect sense.
>
>> It probably is better to fold this patch into the other one when it
>> is rerolled to correct the option name gotcha "on the tin".
>
> Why? This patch is standalone and fixes an issue that is independent
> of the other patch. Why squash two patches that do *two* different
> things?
>
> Anyway, I'll happily drop this patch if you want this memory leak to
> remain. But then I'll do the same in the other patch.
>
> This mantra of avodiing 'goto' is not helping anybody.

adding 5 letters (to change the next "if" into an "else if") versus your addition of several lines and some 15 additional letters (ignoring the whitsspace) is IMHO enough to see what is better?

bye, Jojo 
Previous: Felipe ContrerasNext: Felipe Contreras
Message 6 of 21 in “cherry-pick: a fix and a new option”
  1. 0/2 cherry-pick: a fix and a new optionFelipe Contreras, May 27, 2013
  2. 1/2 sequencer: trivial fixFelipe Contreras, May 27, 2013
  3. Neil HormanMay 28, 2013
  4. Junio C HamanoMay 28, 2013
  5. Felipe ContrerasMay 29, 2013
  6. Joachim SchmitzMay 29, 2013
  7. Felipe ContrerasMay 29, 2013
  8. Joachim SchmitzMay 29, 2013
  9. Felipe ContrerasMay 29, 2013
  10. Joachim SchmitzMay 29, 2013
  11. Joachim SchmitzMay 29, 2013
  12. Neil HormanMay 29, 2013
  13. Duy NguyenMay 29, 2013
  14. Felipe ContrerasMay 29, 2013
  15. Duy NguyenMay 29, 2013
  16. Felipe ContrerasMay 29, 2013
  17. Duy NguyenMay 29, 2013
  18. Felipe ContrerasMay 29, 2013
  19. 2/2 cherry-pick: add --skip-commits optionFelipe Contreras, May 27, 2013
  20. Joachim SchmitzMay 28, 2013
  21. Neil HormanMay 28, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.