Merge branch 'lt/oneway' into next
[gitweb.git] / tar-tree.c
index 705b8fa1c76dc665333f180278dca929e2a971f7..33087366c350655fe92837ba0fe0b3ac80865f33 100644 (file)
@@ -94,7 +94,6 @@ static void write_blocked(void *buf, unsigned long size)
        }
        if (size) {
                memcpy(block + offset, buf, size);
-               buf += size;
                offset += size;
        }
        tail = offset % RECORDSIZE;
@@ -322,8 +321,8 @@ int main(int argc, char **argv)
                strbuf_append_string(&current_path, "/");
                /* FALLTHROUGH */
        case 2:
-               if (get_sha1(argv[1], sha1) < 0)
-                       usage(tar_tree_usage);
+               if (get_sha1(argv[1], sha1))
+                       die("Not a valid object name %s", argv[1]);
                break;
        default:
                usage(tar_tree_usage);
@@ -336,7 +335,7 @@ int main(int argc, char **argv)
        } else
                archive_time = time(NULL);
 
-       tree.buf = read_object_with_reference(sha1, "tree", &tree.size,
+       tree.buf = read_object_with_reference(sha1, tree_type, &tree.size,
                                              tree_sha1);
        if (!tree.buf)
                die("not a reference to a tag, commit or tree object: %s",