diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-18 13:43:58 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-18 13:43:58 -0700 |
commit | 73848892adeaa421825672bce929b9cc16043fa9 (patch) | |
tree | 56dbc1aa76bca0ff8ff72e311f5dad382caad8d3 | |
parent | diff-tree: fix and extend argument parsing (diff) | |
download | tgif-73848892adeaa421825672bce929b9cc16043fa9.tar.xz |
diff-tree: show hex sha1 of the single-commit argument case correctly.
We can't just do the "sha1_to_hex()" thing directly, since the
buffer in question will be overwritten by the name of the parent.
So teach diff_tree_commit() to generate the proper hex name itself.
-rw-r--r-- | diff-tree.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/diff-tree.c b/diff-tree.c index 8cfe990023..acd1524343 100644 --- a/diff-tree.c +++ b/diff-tree.c @@ -356,6 +356,12 @@ static int diff_tree_commit(const unsigned char *commit, const char *name) return 0; } + if (!name) { + static char commit_name[60]; + strcpy(commit_name, sha1_to_hex(commit)); + name = commit_name; + } + offset = 46; while (offset + 48 < size && !memcmp(buf + offset, "parent ", 7)) { unsigned char parent[20]; @@ -472,7 +478,7 @@ int main(int argc, char **argv) usage(diff_tree_usage); break; case 1: - diff_tree_commit(sha1[0], sha1_to_hex(sha1[0])); + diff_tree_commit(sha1[0], NULL); break; case 2: diff_tree_sha1(sha1[0], sha1[1], ""); |