diff mbox series

string_list: use the right kind of STRING_LIST_INIT

Message ID xmqq7d471dns.fsf@gitster.g (mailing list archive)
State Accepted
Commit 1e11fab59c71d191970233cf8c2f573458ed952c
Headers show
Series string_list: use the right kind of STRING_LIST_INIT | expand

Commit Message

Junio C Hamano July 21, 2022, 1:02 a.m. UTC
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 <gitster@pobox.com>
---
 builtin/remote.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Elijah Newren July 21, 2022, 3:28 a.m. UTC | #1
On Wed, Jul 20, 2022 at 6:19 PM Junio C Hamano <gitster@pobox.com> 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 <gitster@pobox.com>
> ---
>  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) {

Makes sense, but shouldn't the subject have s/string-list:/remote:/ ?
Junio C Hamano July 21, 2022, 4:45 a.m. UTC | #2
Elijah Newren <newren@gmail.com> writes:

> Makes sense, but shouldn't the subject have s/string-list:/remote:/ ?

Oh, you are absolutely right.

I was influenced by 183113a5 (string_list: Add STRING_LIST_INIT
macro and make use of it., 2010-07-04), which I was staring at too
much while thinking that this fix was finishing up what it started.

Will amend.  Thanks.
Ævar Arnfjörð Bjarmason July 21, 2022, 5:55 a.m. UTC | #3
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 <gitster@pobox.com>
> ---
>  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...
Junio C Hamano July 25, 2022, 7:01 p.m. UTC | #4
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

> 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...

I do not think it is all that urgent, but I do not think it is worth
wasting our braincells to remember that a WIP series is waiting to
touch and update this area again, so I'll merge this single patch
down to 'next' and 'master' soonish.

Thanks.
diff mbox series

Patch

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) {