[PATCH] Kill a bunch of pointer sign warnings for gcc4
[git.git] / ls-tree.c
index bd99f9a..a69eac8 100644 (file)
--- a/ls-tree.c
+++ b/ls-tree.c
@@ -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,10 +73,11 @@ static int list(unsigned char *sha1)
        void *buffer;
        unsigned long size;
 
-       buffer = read_tree_with_tree_or_commit_sha1(sha1, &size, 0);
+       buffer = read_object_with_reference(sha1, "tree", &size, 0);
        if (!buffer)
                die("unable to read sha1 file");
        list_recursive(buffer, "tree", size, NULL);
+       free(buffer);
        return 0;
 }
 
@@ -102,11 +103,8 @@ int main(int argc, char **argv)
 
        if (argc != 2)
                usage(ls_tree_usage);
-       if (get_sha1_hex(argv[1], sha1) < 0)
+       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;