threads / patch / 43575

patchRe: [PATCH] Fix git-for-each-refs broken for tags

Subject: Re: [PATCH] Fix git-for-each-refs broken for tags

## tl;dr

3 messages between Nov 18, 2006 and Nov 18, 2006. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Petr Baudis· Nov 18, 2006, 02:56 UTC · lore

[PATCH] Fix git-for-each-refs broken for tags

Unfortunately, git-for-each-refs is currently unusable for peeking into tag comments, since it uses freed pointers, so it just prints out all sort of garbage.

This makes it strdup() contents and body values.
Signed-off-by: Petr Baudis <pasky@suse.cz>
---
 builtin-for-each-ref.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Show changes to builtin-for-each-ref.c +2 −2
diff --git a/builtin-for-each-ref.c b/builtin-for-each-ref.c
index 173bf38..227aa3c 100644
--- a/builtin-for-each-ref.c
+++ b/builtin-for-each-ref.c
@@ -478,9 +478,9 @@ static void grab_sub_body_contents(struc
 		if (!strcmp(name, "subject"))
 			v->s = copy_line(subpos);
 		else if (!strcmp(name, "body"))
-			v->s = bodypos;
+			v->s = xstrdup(bodypos);
 		else if (!strcmp(name, "contents"))
-			v->s = subpos;
+			v->s = xstrdup(subpos);
 	}
 }
Petr Baudis· Nov 18, 2006, 04:54 UTC · re: Junio C Hamano · lore
On Sat, Nov 18, 2006 at 05:45:11AM CET, Junio C Hamano wrote:
Show 5 quoted lines
> Thanks for noticing.
> 
> This is not like rev-list where we walk all over the map of
> ancestry graph, so it might be a simpler and better to keep
> the buffer than to keep duplicate copies of pieces.

I would rather not do that in any new code since it's gonna be a problem if you use this outside of the standalone command as part of libgit.

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
The meaning of Stonehenge in Traflamadorian, when viewed from above, is:
"Replacement part being rushed with all possible speed."

← back to recent threads