apply: fix infinite loop with multiple patches with --index
[gitweb.git] / ls-tree.c
index 26258c3cf99c9eec522ea1a13a2ded3beb93e171..f2b3bc1231b7fdfd7277974fc5a5708ceef9cbaf 100644 (file)
--- a/ls-tree.c
+++ b/ls-tree.c
@@ -56,7 +56,7 @@ static int show_tree(unsigned char *sha1, const char *base, int baselen,
                     const char *pathname, unsigned mode, int stage)
 {
        int retval = 0;
-       const char *type = "blob";
+       const char *type = blob_type;
 
        if (S_ISDIR(mode)) {
                if (show_recursive(base, baselen, pathname)) {
@@ -64,7 +64,7 @@ static int show_tree(unsigned char *sha1, const char *base, int baselen,
                        if (!(ls_options & LS_SHOW_TREES))
                                return retval;
                }
-               type = "tree";
+               type = tree_type;
        }
        else if (ls_options & LS_TREE_ONLY)
                return 0;
@@ -142,8 +142,8 @@ int main(int argc, const char **argv)
 
        if (argc < 2)
                usage(ls_tree_usage);
-       if (get_sha1(argv[1], sha1) < 0)
-               usage(ls_tree_usage);
+       if (get_sha1(argv[1], sha1))
+               die("Not a valid object name %s", argv[1]);
 
        pathspec = get_pathspec(prefix, argv + 2);
        tree = parse_tree_indirect(sha1);