From 5cd2bf7e7f3f3daf6107cd3a269bad78e342de70 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Fri, 12 Jan 2007 00:46:17 +0100 Subject: [PATCH] WIP: add paths/backlinks to tree/blobview --- cgit.c | 2 +- cgit.h | 3 ++- shared.c | 3 +++ ui-tree.c | 12 +++++++++--- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/cgit.c b/cgit.c index a3a04d9..9535abc 100644 --- a/cgit.c +++ b/cgit.c @@ -56,7 +56,7 @@ static void cgit_print_repo_page(struct cacheitem *item) } else if (!strcmp(cgit_query_page, "log")) { cgit_print_log(cgit_query_head, cgit_query_ofs, 100, cgit_query_search); } else if (!strcmp(cgit_query_page, "tree")) { - cgit_print_tree(cgit_query_sha1); + cgit_print_tree(cgit_query_sha1, cgit_query_path); } else if (!strcmp(cgit_query_page, "commit")) { cgit_print_commit(cgit_query_sha1); } else if (!strcmp(cgit_query_page, "view")) { diff --git a/cgit.h b/cgit.h index 3601e49..5e19b11 100644 --- a/cgit.h +++ b/cgit.h @@ -59,6 +59,7 @@ extern char *cgit_query_search; extern char *cgit_query_head; extern char *cgit_query_sha1; extern char *cgit_query_sha2; +extern char *cgit_query_path; extern int cgit_query_ofs; extern int htmlfd; @@ -108,7 +109,7 @@ extern void cgit_print_repolist(struct cacheitem *item); extern void cgit_print_summary(); extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep); extern void cgit_print_view(const char *hex); -extern void cgit_print_tree(const char *hex); +extern void cgit_print_tree(const char *hex, char *path); extern void cgit_print_commit(const char *hex); extern void cgit_print_diff(const char *old_hex, const char *new_hex); diff --git a/shared.c b/shared.c index e4595fa..dd711a8 100644 --- a/shared.c +++ b/shared.c @@ -39,6 +39,7 @@ char *cgit_query_head = NULL; char *cgit_query_search = NULL; char *cgit_query_sha1 = NULL; char *cgit_query_sha2 = NULL; +char *cgit_query_path = NULL; int cgit_query_ofs = 0; int htmlfd = 0; @@ -100,6 +101,8 @@ void cgit_querystring_cb(const char *name, const char *value) cgit_query_has_sha1 = 1; } else if (!strcmp(name, "ofs")) { cgit_query_ofs = atoi(value); + } else if (!strcmp(name, "path")) { + cgit_query_path = xstrdup(value); } } diff --git a/ui-tree.c b/ui-tree.c index 54dcdbe..ed9f05e 100644 --- a/ui-tree.c +++ b/ui-tree.c @@ -29,11 +29,16 @@ static int print_entry(const unsigned char *sha1, const char *base, if (S_ISDIR(mode)) { html("
"); html_txt(name); @@ -46,7 +51,7 @@ static int print_entry(const unsigned char *sha1, const char *base, return 0; } -void cgit_print_tree(const char *hex) +void cgit_print_tree(const char *hex, char *path) { struct tree *tree; unsigned char sha1[20]; @@ -62,6 +67,7 @@ void cgit_print_tree(const char *hex) } html("

Tree content

\n"); + html_txt(path); html("\n"); html(""); html("");
Mode