Fix git-for-each-refs broken for tags
authorPetr Baudis <pasky@suse.cz>
Sat, 18 Nov 2006 02:56:52 +0000 (03:56 +0100)
committerJunio C Hamano <junkio@cox.net>
Sat, 18 Nov 2006 19:09:46 +0000 (11:09 -0800)
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>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-for-each-ref.c

index 173bf38..227aa3c 100644 (file)
@@ -478,9 +478,9 @@ static void grab_sub_body_contents(struct atom_value *val, int deref, struct obj
                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);
        }
 }