X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=diff-tree.c;h=e8f5d1b126179c705f6463c25216d90e3e376848;hb=1f961c196cbb475e612a4fb082b33efde71e7a03;hp=5b9467d58b064de81bfecfeebd4dfac50e515cca;hpb=98e031f0bb6e857c684e6db24d03d22cfc1a532a;p=git.git diff --git a/diff-tree.c b/diff-tree.c index 5b9467d5..e8f5d1b1 100644 --- a/diff-tree.c +++ b/diff-tree.c @@ -370,6 +370,7 @@ static int diff_tree_commit(const unsigned char *commit, const char *name) } offset += 48; } + free(buf); return 0; } @@ -395,16 +396,25 @@ static int diff_tree_stdin(char *line) return diff_tree_commit(commit, line); } -static char *diff_tree_usage = +static int count_paths(const char **paths) +{ + int i = 0; + while (*paths++) + i++; + return i; +} + +static const char diff_tree_usage[] = "git-diff-tree [--stdin] [-m] [-s] [-v] [--pretty] [-t] " "[] " COMMON_DIFF_OPTIONS_HELP; -int main(int argc, const char **argv) +int main(int argc, char **argv) { int nr_sha1; char line[1000]; unsigned char sha1[2][20]; + const char *prefix = setup_git_directory(); nr_sha1 = 0; for (;;) { @@ -523,11 +533,11 @@ int main(int argc, const char **argv) if (find_copies_harder && detect_rename != DIFF_DETECT_COPY) usage(diff_tree_usage); - if (argc > 0) { + paths = get_pathspec(prefix, argv); + if (paths) { int i; - paths = argv; - nr_paths = argc; + nr_paths = count_paths(paths); pathlens = xmalloc(nr_paths * sizeof(int)); for (i=0; i