diff options
author | Junio C Hamano <junkio@cox.net> | 2006-06-17 18:56:08 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-06-17 18:56:08 -0700 |
commit | 8a02ad4f440da05097416e7ca719360b05d23dbf (patch) | |
tree | c57cbc108f4e6c5c1c3338545fb9eccf3a2aad52 /name-rev.c | |
parent | Merge branch 'js/diff' (diff) | |
parent | Fix git-format-patch -s (diff) | |
download | tgif-8a02ad4f440da05097416e7ca719360b05d23dbf.tar.xz |
Merge branch 'eb/mail' into next
* eb/mail:
Fix git-format-patch -s
Some more memory leak avoidance
Move "void *util" from "struct object" into "struct commit"
Shrink "struct object" a bit
Diffstat (limited to 'name-rev.c')
-rw-r--r-- | name-rev.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/name-rev.c b/name-rev.c index bad8a53777..c29b93ea71 100644 --- a/name-rev.c +++ b/name-rev.c @@ -19,7 +19,7 @@ static void name_rev(struct commit *commit, const char *tip_name, int merge_traversals, int generation, int deref) { - struct rev_name *name = (struct rev_name *)commit->object.util; + struct rev_name *name = (struct rev_name *)commit->util; struct commit_list *parents; int parent_number = 1; @@ -41,7 +41,7 @@ static void name_rev(struct commit *commit, if (name == NULL) { name = xmalloc(sizeof(rev_name)); - commit->object.util = name; + commit->util = name; goto copy_data; } else if (name->merge_traversals > merge_traversals || (name->merge_traversals == merge_traversals && @@ -84,14 +84,14 @@ static int name_ref(const char *path, const unsigned char *sha1) if (tags_only && strncmp(path, "refs/tags/", 10)) return 0; - while (o && o->type == tag_type) { + while (o && o->type == TYPE_TAG) { struct tag *t = (struct tag *) o; if (!t->tagged) break; /* broken repository */ o = parse_object(t->tagged->sha1); deref = 1; } - if (o && o->type == commit_type) { + if (o && o->type == TYPE_COMMIT) { struct commit *commit = (struct commit *)o; if (!strncmp(path, "refs/heads/", 11)) @@ -108,7 +108,13 @@ static int name_ref(const char *path, const unsigned char *sha1) static const char* get_rev_name(struct object *o) { static char buffer[1024]; - struct rev_name *n = (struct rev_name *)o->util; + struct rev_name *n; + struct commit *c; + + if (o->type != TYPE_COMMIT) + return "undefined"; + c = (struct commit *) o; + n = c->util; if (!n) return "undefined"; @@ -167,7 +173,7 @@ int main(int argc, char **argv) } o = deref_tag(parse_object(sha1), *argv, 0); - if (!o || o->type != commit_type) { + if (!o || o->type != TYPE_COMMIT) { fprintf(stderr, "Could not get commit for %s. Skipping.\n", *argv); continue; |