Browse Source

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.
maint
Linus Torvalds 20 years ago
parent
commit
73848892ad
  1. 8
      diff-tree.c

8
diff-tree.c

@ -356,6 +356,12 @@ static int diff_tree_commit(const unsigned char *commit, const char *name) @@ -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) @@ -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], "");

Loading…
Cancel
Save