[PATCH] Performance fix for pickaxe.
[git.git] / ls-tree.c
index 339ac36..0f455c2 100644 (file)
--- a/ls-tree.c
+++ b/ls-tree.c
@@ -5,8 +5,8 @@
  */
 #include "cache.h"
 
-int line_termination = '\n';
-int recursive = 0;
+static int line_termination = '\n';
+static int recursive = 0;
 
 struct path_prefix {
        struct path_prefix *prev;
@@ -24,7 +24,7 @@ static void print_path_prefix(struct path_prefix *prefix)
 }
 
 static void list_recursive(void *buffer,
-                          const unsigned char *type,
+                          const char *type,
                           unsigned long size,
                           struct path_prefix *prefix)
 {
@@ -73,14 +73,15 @@ static int list(unsigned char *sha1)
        void *buffer;
        unsigned long size;
 
-       buffer = read_object_with_reference(sha1, "tree", &size, 0);
+       buffer = read_object_with_reference(sha1, "tree", &size, NULL);
        if (!buffer)
                die("unable to read sha1 file");
        list_recursive(buffer, "tree", size, NULL);
+       free(buffer);
        return 0;
 }
 
-static const char *ls_tree_usage = "ls-tree [-r] [-z] <key>";
+static const char *ls_tree_usage = "git-ls-tree [-r] [-z] <key>";
 
 int main(int argc, char **argv)
 {
@@ -104,9 +105,6 @@ int main(int argc, char **argv)
                usage(ls_tree_usage);
        if (get_sha1(argv[1], sha1) < 0)
                usage(ls_tree_usage);
-       sha1_file_directory = getenv(DB_ENVIRONMENT);
-       if (!sha1_file_directory)
-               sha1_file_directory = DEFAULT_DB_ENVIRONMENT;
        if (list(sha1) < 0)
                die("list failed");
        return 0;