]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-blob.c
contrib/hooks: add sample post-receive hook using agefile
[ps-cgit] / ui-blob.c
index 608926ea0669187d33cb3296c0000b8d72b94ca5..388a0177a30487959c0fb35d40cff64ce278aedf 100644 (file)
--- a/ui-blob.c
+++ b/ui-blob.c
 struct walk_tree_context {
        const char *match_path;
        unsigned char *matched_sha1;
-       int found_path:1;
-       int file_only:1;
+       unsigned int found_path:1;
+       unsigned int file_only:1;
 };
 
-static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
-       const char *pathname, unsigned mode, int stage, void *cbdata)
+static int walk_tree(const unsigned char *sha1, struct strbuf *base,
+               const char *pathname, unsigned mode, int stage, void *cbdata)
 {
        struct walk_tree_context *walk_tree_ctx = cbdata;
 
        if (walk_tree_ctx->file_only && !S_ISREG(mode))
                return READ_TREE_RECURSIVE;
-       if (strncmp(base, walk_tree_ctx->match_path, baselen)
-               || strcmp(walk_tree_ctx->match_path + baselen, pathname))
+       if (strncmp(base->buf, walk_tree_ctx->match_path, base->len)
+               || strcmp(walk_tree_ctx->match_path + base->len, pathname))
                return READ_TREE_RECURSIVE;
        memmove(walk_tree_ctx->matched_sha1, sha1, 20);
        walk_tree_ctx->found_path = 1;
@@ -54,7 +54,7 @@ int cgit_ref_path_exists(const char *path, const char *ref, int file_only)
 
        if (get_sha1(ref, sha1))
                return 0;
-       if (sha1_object_info(sha1, &size) != OBJ_COMMIT) 
+       if (sha1_object_info(sha1, &size) != OBJ_COMMIT)
                return 0;
        read_tree_recursive(lookup_commit_reference(sha1)->tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
        return walk_tree_ctx.found_path;
@@ -164,6 +164,6 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl
                        ctx.page.mimetype = "text/plain";
        }
        ctx.page.filename = path;
-       cgit_print_http_headers(&ctx);
+       cgit_print_http_headers();
        html_raw(buf, size);
 }