aboutsummaryrefslogtreecommitdiff
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
m---------git0
-rw-r--r--ui-blob.c22
-rw-r--r--ui-plain.c17
-rw-r--r--ui-tree.c16
4 files changed, 12 insertions, 43 deletions
diff --git a/git b/git
-Subproject 15b7898c5e9fc6fed9a6064213cfcd08cf7d731
+Subproject e5af0de202e885b793482d416b8ce9d50dd2b8b
diff --git a/ui-blob.c b/ui-blob.c
index 3de4473..ec435e1 100644
--- a/ui-blob.c
+++ b/ui-blob.c
@@ -32,14 +32,7 @@ int cgit_print_file(char *path, const char *head)
char *buf;
unsigned long size;
struct commit *commit;
- struct pathspec_item path_items = {
- .match = path,
- .len = strlen(path)
- };
- struct pathspec paths = {
- .nr = 1,
- .items = &path_items
- };
+ const char *paths[] = {path, NULL};
if (get_sha1(head, sha1))
return -1;
type = sha1_object_info(sha1, &size);
@@ -48,7 +41,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);
@@ -70,14 +63,7 @@ void cgit_print_blob(const char *hex, char *path, const char *head)
char *buf;
unsigned long size;
struct commit *commit;
- struct pathspec_item path_items = {
- .match = path,
- .len = strlen(path)
- };
- struct pathspec paths = {
- .nr = 1,
- .items = &path_items
- };
+ const char *paths[] = {path, NULL};
if (hex) {
if (get_sha1_hex(hex, sha1)){
@@ -97,7 +83,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);
}
diff --git a/ui-plain.c b/ui-plain.c
index c21d38f..85877d7 100644
--- a/ui-plain.c
+++ b/ui-plain.c
@@ -197,14 +197,7 @@ void cgit_print_plain(struct cgit_context *ctx)
const char *rev = ctx->qry.sha1;
unsigned char sha1[20];
struct commit *commit;
- struct pathspec_item path_items = {
- .match = ctx->qry.path,
- .len = ctx->qry.path ? strlen(ctx->qry.path) : 0
- };
- struct pathspec paths = {
- .nr = 1,
- .items = &path_items
- };
+ const char *paths[] = {ctx->qry.path, NULL};
if (!rev)
rev = ctx->qry.head;
@@ -218,14 +211,14 @@ void cgit_print_plain(struct cgit_context *ctx)
html_status(404, "Not found", 0);
return;
}
- if (!path_items.match) {
- path_items.match = "";
+ if (!paths[0]) {
+ paths[0] = "";
match_baselen = -1;
print_dir(commit->tree->object.sha1, "", 0, "");
}
else
- match_baselen = basedir_len(path_items.match);
- read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree, NULL);
+ match_baselen = basedir_len(paths[0]);
+ read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
if (!match)
html_status(404, "Not found", 0);
else if (match == 2)
diff --git a/ui-tree.c b/ui-tree.c
index b544440..b1adcc7 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -202,9 +202,6 @@ static void ls_tail()
static void ls_tree(const unsigned char *sha1, char *path)
{
struct tree *tree;
- struct pathspec paths = {
- .nr = 0
- };
tree = parse_tree_indirect(sha1);
if (!tree) {
@@ -214,7 +211,7 @@ static void ls_tree(const unsigned char *sha1, char *path)
}
ls_head();
- read_tree_recursive(tree, "", 0, 1, &paths, ls_item, NULL);
+ read_tree_recursive(tree, "", 0, 1, NULL, ls_item, NULL);
ls_tail();
}
@@ -255,14 +252,7 @@ void cgit_print_tree(const char *rev, char *path)
{
unsigned char sha1[20];
struct commit *commit;
- struct pathspec_item path_items = {
- .match = path,
- .len = path ? strlen(path) : 0
- };
- struct pathspec paths = {
- .nr = path ? 1 : 0,
- .items = &path_items
- };
+ const char *paths[] = {path, NULL};
if (!rev)
rev = ctx.qry.head;
@@ -284,6 +274,6 @@ void cgit_print_tree(const char *rev, char *path)
}
match_path = path;
- read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree, NULL);
+ read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
ls_tail();
}