Re: [GSoC PATCH v4] add -p: show user's hunk decision when selecting hunks
- From
Samuel Abraham <abrahamadekunle50@gmail.com>
- Date
- Jan 5, 2026, 21:52 UTC
- Message-ID
- <CADYq+fbntOOmcb+7cg_VDt24UzsU0UfBzFPMVxVdtL0sAMrHbg@mail.gmail.com>
- In-Reply-To
- <aVwShWyoGBq4BcGR@szeder.dev>
On Mon, Jan 5, 2026 at 8:35 PM SZEDER Gábor <szeder.dev@gmail.com> wrote:
Show 45 quoted lines
>
> On Sun, Jan 04, 2026 at 12:02:55PM +0100, Abraham Samuel Adekunle wrote:
> > diff --git a/add-patch.c b/add-patch.c
> > index 173a53241e..bc7a340d21 100644
> > --- a/add-patch.c
> > +++ b/add-patch.c
>
> > @@ -1448,6 +1448,7 @@ static int patch_update_file(struct add_p_state *s,
> > ssize_t i, undecided_previous, undecided_next, rendered_hunk_index = -1;
> > struct hunk *hunk;
> > char ch;
> > + const char *hunk_use_decision;
>
> 'hunk_use_decision' is defined here, but is left uninitialized.
>
> > struct child_process cp = CHILD_PROCESS_INIT;
> > int colored = !!s->colored.len, quit = 0, use_pager = 0;
> > enum prompt_mode_type prompt_mode_type;
> > @@ -1564,8 +1565,17 @@ static int patch_update_file(struct add_p_state *s,
> > (uintmax_t)(file_diff->hunk_nr
> > ? file_diff->hunk_nr
> > : 1));
> > + if (file_diff->hunk_nr) {
> > + if (hunk->use == USE_HUNK)
> > + hunk_use_decision = _(" (previous decision: use) ");
> > + else if (hunk->use == SKIP_HUNK)
> > + hunk_use_decision = _(" (previous decision: skip) ");
> > + else
> > + hunk_use_decision = " ";
>
> 'hunk_use_decision' is set here, but only if 'file_diff->hunk_nr' is
> non-zero.
>
> > +`
> > + }
>
> Nit: unnecessary empty line before the closing brace.
>
> > printf(_(s->mode->prompt_mode[prompt_mode_type]),
> > - s->buf.buf);
> > + hunk_use_decision, s->buf.buf);
>
> So 'hunk_use_decision' is used uninitialized here if
> 'file_diff->hunk_nr' is zero.
>hello SZEDER, Thank you very much for the review Yes, you are right, `hunk_use_decision` is left uninitialized if `file_diff->hunk` is zero I will fix the patch and send an updated version.
Abraham.