]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-blob.c
ui-tree,ui-blame: bail from blame if blob is binary
[ps-cgit] / ui-blob.c
index 4b6b46277acf12d6f837d29530289568c64442de..c10ae42ebd054ef84dfbe01f3c99005518a078e5 100644 (file)
--- a/ui-blob.c
+++ b/ui-blob.c
@@ -19,7 +19,7 @@ struct walk_tree_context {
 };
 
 static int walk_tree(const struct object_id *oid, struct strbuf *base,
-               const char *pathname, unsigned mode, int stage, void *cbdata)
+               const char *pathname, unsigned mode, void *cbdata)
 {
        struct walk_tree_context *walk_tree_ctx = cbdata;
 
@@ -56,7 +56,9 @@ int cgit_ref_path_exists(const char *path, const char *ref, int file_only)
                goto done;
        if (oid_object_info(the_repository, &oid, &size) != OBJ_COMMIT)
                goto done;
-       read_tree_recursive(lookup_commit_reference(the_repository, &oid)->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+       read_tree(the_repository,
+                 repo_get_commit_tree(the_repository, lookup_commit_reference(the_repository, &oid)),
+                 &paths, walk_tree, &walk_tree_ctx);
 
 done:
        free(path_items.match);
@@ -90,7 +92,8 @@ int cgit_print_file(char *path, const char *head, int file_only)
        type = oid_object_info(the_repository, &oid, &size);
        if (type == OBJ_COMMIT) {
                commit = lookup_commit_reference(the_repository, &oid);
-               read_tree_recursive(commit->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+               read_tree(the_repository, repo_get_commit_tree(the_repository, commit),
+                         &paths, walk_tree, &walk_tree_ctx);
                if (!walk_tree_ctx.found_path)
                        return -1;
                type = oid_object_info(the_repository, &oid, &size);
@@ -146,7 +149,8 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl
 
        if ((!hex) && type == OBJ_COMMIT && path) {
                commit = lookup_commit_reference(the_repository, &oid);
-               read_tree_recursive(commit->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+               read_tree(the_repository, repo_get_commit_tree(the_repository, commit),
+                         &paths, walk_tree, &walk_tree_ctx);
                type = oid_object_info(the_repository, &oid, &size);
        }