]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-blob.c
Update git to v1.7.6.5
[ps-cgit] / ui-blob.c
index 667a45111bf16c8fc7d8bf55303782f27ebd357a..3de447362f094a1f17e57383d522248a6ada2122 100644 (file)
--- a/ui-blob.c
+++ b/ui-blob.c
@@ -32,7 +32,14 @@ int cgit_print_file(char *path, const char *head)
        char *buf;
        unsigned long size;
        struct commit *commit;
-       const char *paths[] = {path, NULL};
+       struct pathspec_item path_items = {
+               .match = path,
+               .len = strlen(path)
+       };
+       struct pathspec paths = {
+               .nr = 1,
+               .items = &path_items
+       };
        if (get_sha1(head, sha1))
                return -1;
        type = sha1_object_info(sha1, &size);
@@ -41,7 +48,7 @@ int cgit_print_file(char *path, const char *head)
                match_path = path;
                matched_sha1 = sha1;
                found_path = 0;
-               read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
+               read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree, NULL);
                if (!found_path)
                        return -1;
                type = sha1_object_info(sha1, &size);
@@ -52,7 +59,7 @@ int cgit_print_file(char *path, const char *head)
        if (!buf)
                return -1;
        buf[size] = '\0';
-       write(htmlfd, buf, size);
+       html_raw(buf, size);
        return 0;
 }
 
@@ -63,7 +70,14 @@ void cgit_print_blob(const char *hex, char *path, const char *head)
        char *buf;
        unsigned long size;
        struct commit *commit;
-       const char *paths[] = {path, NULL};
+       struct pathspec_item path_items = {
+               .match = path,
+               .len = strlen(path)
+       };
+       struct pathspec paths = {
+               .nr = 1,
+               .items = &path_items
+       };
 
        if (hex) {
                if (get_sha1_hex(hex, sha1)){
@@ -83,7 +97,7 @@ void cgit_print_blob(const char *hex, char *path, const char *head)
                commit = lookup_commit_reference(sha1);
                match_path = path;
                matched_sha1 = sha1;
-               read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
+               read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree, NULL);
                type = sha1_object_info(sha1,&size);
        }
 
@@ -108,5 +122,5 @@ void cgit_print_blob(const char *hex, char *path, const char *head)
        }
        ctx.page.filename = path;
        cgit_print_http_headers(&ctx);
-       write(htmlfd, buf, size);
+       html_raw(buf, size);
 }