|
diff --git a/cgit.c b/cgit.c index a3a04d9..9535abc 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -58,3 +58,3 @@ static void cgit_print_repo_page(struct cacheitem *item) |
58 | } else if (!strcmp(cgit_query_page, "tree")) { |
58 | } else if (!strcmp(cgit_query_page, "tree")) { |
59 | cgit_print_tree(cgit_query_sha1); |
59 | cgit_print_tree(cgit_query_sha1, cgit_query_path); |
60 | } else if (!strcmp(cgit_query_page, "commit")) { |
60 | } else if (!strcmp(cgit_query_page, "commit")) { |
|
|
diff --git a/cgit.h b/cgit.h index 3601e49..5e19b11 100644 --- a/ cgit.h+++ b/ cgit.h |
|
@@ -61,2 +61,3 @@ extern char *cgit_query_sha1; |
61 | extern char *cgit_query_sha2; |
61 | extern char *cgit_query_sha2; |
| |
62 | extern char *cgit_query_path; |
62 | extern int cgit_query_ofs; |
63 | extern int cgit_query_ofs; |
@@ -110,3 +111,3 @@ extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep); |
110 | extern void cgit_print_view(const char *hex); |
111 | extern void cgit_print_view(const char *hex); |
111 | extern void cgit_print_tree(const char *hex); |
112 | extern void cgit_print_tree(const char *hex, char *path); |
112 | extern void cgit_print_commit(const char *hex); |
113 | extern void cgit_print_commit(const char *hex); |
|
|
diff --git a/shared.c b/shared.c index e4595fa..dd711a8 100644 --- a/ shared.c+++ b/ shared.c |
|
@@ -41,2 +41,3 @@ char *cgit_query_sha1 = NULL; |
41 | char *cgit_query_sha2 = NULL; |
41 | char *cgit_query_sha2 = NULL; |
| |
42 | char *cgit_query_path = NULL; |
42 | int cgit_query_ofs = 0; |
43 | int cgit_query_ofs = 0; |
@@ -102,2 +103,4 @@ void cgit_querystring_cb(const char *name, const char *value) |
102 | cgit_query_ofs = atoi(value); |
103 | cgit_query_ofs = atoi(value); |
| |
104 | } else if (!strcmp(name, "path")) { |
| |
105 | cgit_query_path = xstrdup(value); |
103 | } |
106 | } |
|
|
diff --git a/ui-tree.c b/ui-tree.c index 54dcdbe..ed9f05e 100644 --- a/ ui-tree.c+++ b/ ui-tree.c |
|
@@ -31,3 +31,6 @@ static int print_entry(const unsigned char *sha1, const char *base, |
31 | html_attr(cgit_pageurl(cgit_query_repo, "tree", |
31 | html_attr(cgit_pageurl(cgit_query_repo, "tree", |
32 | fmt("id=%s", sha1_to_hex(sha1)))); |
32 | fmt("id=%s&path=%s%s/", |
| |
33 | sha1_to_hex(sha1), |
| |
34 | cgit_query_path ? cgit_query_path : "", |
| |
35 | pathname))); |
33 | } else { |
36 | } else { |
@@ -35,3 +38,5 @@ static int print_entry(const unsigned char *sha1, const char *base, |
35 | html_attr(cgit_pageurl(cgit_query_repo, "view", |
38 | html_attr(cgit_pageurl(cgit_query_repo, "view", |
36 | fmt("id=%s", sha1_to_hex(sha1)))); |
39 | fmt("id=%s&path=%s%s", sha1_to_hex(sha1), |
| |
40 | cgit_query_path ? cgit_query_path : "", |
| |
41 | pathname))); |
37 | } |
42 | } |
@@ -48,3 +53,3 @@ static int print_entry(const unsigned char *sha1, const char *base, |
48 | |
53 | |
49 | void cgit_print_tree(const char *hex) |
54 | void cgit_print_tree(const char *hex, char *path) |
50 | { |
55 | { |
@@ -64,2 +69,3 @@ void cgit_print_tree(const char *hex) |
64 | html("<h2>Tree content</h2>\n"); |
69 | html("<h2>Tree content</h2>\n"); |
| |
70 | html_txt(path); |
65 | html("<table class='list'>\n"); |
71 | html("<table class='list'>\n"); |
|