diff options
Diffstat (limited to 'ui-tree.c')
| -rw-r--r-- | ui-tree.c | 12 | 
1 files changed, 9 insertions, 3 deletions
| @@ -29,11 +29,16 @@ static int print_entry(const unsigned char *sha1, const char *base,  	if (S_ISDIR(mode)) {  		html("<div class='ls-dir'><a href='");  		html_attr(cgit_pageurl(cgit_query_repo, "tree",  -				       fmt("id=%s", sha1_to_hex(sha1)))); +				       fmt("id=%s&path=%s%s/",  +					   sha1_to_hex(sha1), +					   cgit_query_path ? cgit_query_path : "", +					   pathname)));  	} else {  		html("<div class='ls-blob'><a href='");  		html_attr(cgit_pageurl(cgit_query_repo, "view", -				      fmt("id=%s", sha1_to_hex(sha1)))); +				      fmt("id=%s&path=%s%s", sha1_to_hex(sha1), +					  cgit_query_path ? cgit_query_path : "", +					  pathname)));  	}  	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("<h2>Tree content</h2>\n"); +	html_txt(path);  	html("<table class='list'>\n");  	html("<tr>");  	html("<th class='left'>Mode</th>"); | 
