} else if (!strcmp(cgit_query_page, "commit")) {
cgit_print_commit(cgit_query_sha1);
} else if (!strcmp(cgit_query_page, "view")) {
- cgit_print_view(cgit_query_sha1);
+ cgit_print_view(cgit_query_sha1, cgit_query_path);
} else if (!strcmp(cgit_query_page, "diff")) {
cgit_print_diff(cgit_query_sha1, cgit_query_sha2);
} else {
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_view(const char *hex, char *path);
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);
#include "cgit.h"
-void cgit_print_view(const char *hex)
+void cgit_print_view(const char *hex, char *path)
{
unsigned char sha1[20];
enum object_type type;
buf[size] = '\0';
html("<table class='list'>\n");
- htmlf("<tr class='nohover'><th class='left'>%s %s, %li bytes</th></tr>\n",
- typename(type), hex, size);
+ html("<tr class='nohover'><th class='left'>");
+ if (path)
+ htmlf("%s (", path);
+ htmlf("%s %s, %li bytes", typename(type), hex, size);
+ if (path)
+ html(")");
+ html("</th></tr>\n");
html("<tr><td class='blob'>\n");
html_txt(buf);
html("\n</td></tr>\n");