-rw-r--r-- | ui-tree.c | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -17,3 +17,3 @@ static int print_entry(const unsigned char *sha1, const char *base, enum object_type type; - unsigned long size; + unsigned long size = 0; @@ -21,3 +21,3 @@ static int print_entry(const unsigned char *sha1, const char *base, type = sha1_object_info(sha1, &size); - if (type == OBJ_BAD) { + if (type == OBJ_BAD && !S_ISDIRLNK(mode)) { htmlf("<tr><td colspan='3'>Bad object: %s %s</td></tr>", @@ -29,7 +29,10 @@ static int print_entry(const unsigned char *sha1, const char *base, html_filemode(mode); - html("</td><td>"); + html("</td><td "); if (S_ISDIRLNK(mode)) { - htmlf("<div class='ls-dirlnk'>%s => submodule</div>", name); + htmlf("class='ls-mod'><a href='"); + html_attr(fmt(cgit_repo->module_link, + name, + sha1_to_hex(sha1))); } else if (S_ISDIR(mode)) { - html("<div class='ls-dir'><a href='"); + html("class='ls-dir'><a href='"); html_attr(cgit_pageurl(cgit_query_repo, "tree", @@ -39,5 +42,4 @@ static int print_entry(const unsigned char *sha1, const char *base, pathname))); - htmlf("'>%s</a></div>", name); } else { - html("<div class='ls-blob'><a href='"); + html("class='ls-blob'><a href='"); html_attr(cgit_pageurl(cgit_query_repo, "view", @@ -46,5 +48,4 @@ static int print_entry(const unsigned char *sha1, const char *base, pathname))); - htmlf("'>%s</a></div>", name); } - html("</div></td>"); + htmlf("'>%s</a></div></td>", name); htmlf("<td class='filesize'>%li</td>", size); |