Subject: Re: [PATCH] string_list: use the right kind of STRING_LIST_INIT

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Thu, 21 Jul 2022 07:55:49 +0200

On Wed, Jul 20 2022, Junio C Hamano wrote:

> Since 4a4b4cda (builtin-remote: Make "remote -v" display push urls,
> 2009-06-13), the string_list that was initialized with 0 in its
> strdup_string member is immediately made to strdup its key strings
> by flipping the strdup_string member to true.  When 183113a5
> (string_list: Add STRING_LIST_INIT macro and make use of it.,
> 2010-07-04) has introduced STRING_LIST_INIT macros, it mechanically
> replaced the initialization to STRING_LIST_INIT_NODUP.
>
> Instead, just use the other initialization macro to make it strdup
> the key from the beginning.
>
> Signed-off-by: Junio C Hamano <[email-masked]>
> ---
>  builtin/remote.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git c/builtin/remote.c w/builtin/remote.c
> index d9b8746cb3..c713463d89 100644
> --- c/builtin/remote.c
> +++ w/builtin/remote.c
> @@ -1229,10 +1229,9 @@ static int get_one_entry(struct remote *remote, void *priv)
>  
>  static int show_all(void)
>  {
> -	struct string_list list = STRING_LIST_INIT_NODUP;
> +	struct string_list list = STRING_LIST_INIT_DUP;
>  	int result;
>  
> -	list.strdup_strings = 1;
>  	result = for_each_remote(get_one_entry, &list);
>  
>  	if (!result) {

Heh :) I think it's safe to give this my Reviewed-By, since I've been
running with this patch for almost a year now:
https://github.com/avar/git/commit/bdf4466eb92

It's on a branch of some WIP string_list API fixes that I haven't sent
in, but the fix looks good to me...