From 73848892adeaa421825672bce929b9cc16043fa9 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Wed, 18 May 2005 13:43:58 -0700 Subject: [PATCH] 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. --- diff-tree.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/diff-tree.c b/diff-tree.c index 8cfe99002..acd152434 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], ""); -- 2.26.2