Re: [PATCH 2/2] diff-no-index: release prefixed filenames
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Sep 7, 2022, 10:03 UTC
- Message-ID
- <n575rrn9-5p4o-r40o-snsq-197p242q10p5@tzk.qr>
- In-Reply-To
- <df5f8305-79d5-2c12-bdf0-961428c0bdd1@web.de>
Hi René,
On Tue, 6 Sep 2022, René Scharfe wrote:
Show 27 quoted lines
> diff --git a/diff-no-index.c b/diff-no-index.c
> index a3683d8a04..35809f26d7 100644
> --- a/diff-no-index.c
> +++ b/diff-no-index.c
> @@ -245,6 +245,7 @@ int diff_no_index(struct rev_info *revs,
> int i, no_index;
> int ret = 1;
> const char *paths[2];
> + char *to_free[2] = { 0 };
> struct strbuf replacement = STRBUF_INIT;
> const char *prefix = revs->prefix;
> struct option no_index_options[] = {
> @@ -274,7 +275,7 @@ int diff_no_index(struct rev_info *revs,
> */
> p = file_from_standard_input;
> else if (prefix)
> - p = prefix_filename(prefix, p);
> + p = to_free[i] = prefix_filename(prefix, p);
> paths[i] = p;
> }
>
> @@ -308,6 +309,8 @@ int diff_no_index(struct rev_info *revs,
> ret = diff_result_code(&revs->diffopt, 0);
>
> out:
> + for (i = 0; i < 2; i++)
> + free(to_free[i]);Heh. That's long-hand for
free(to_free[0]); free(to_free[1]);
If you do want to have that loop, please replace the hard-coded 2 by `ARRAY_SIZE(to_free)`.
Otherwise, both patches look fine to me.
Thanks! Dscho
Show 6 quoted lines
> strbuf_release(&replacement); > return ret; > } > -- > 2.37.2 >