X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/66cacd053ba900c8eb3b7962027370c84a97f990..ad3b39d3b8443e142a6bfee34d527c99cd5f280d:/ui-tree.c diff --git a/ui-tree.c b/ui-tree.c index b00670e..db63e13 100644 --- a/ui-tree.c +++ b/ui-tree.c @@ -8,54 +8,69 @@ #include "cgit.h" +char *curr_rev; -static int print_entry(const unsigned char *sha1, const char *base, - int baselen, const char *pathname, unsigned int mode, +static int print_entry(const unsigned char *sha1, const char *base, + int baselen, const char *pathname, unsigned int mode, int stage) { char *name; - char type[20]; - unsigned long size; + enum object_type type; + unsigned long size = 0; - if (sha1_object_info(sha1, type, &size)) { - cgit_print_error(fmt("Bad object name: %s", - sha1_to_hex(sha1))); + name = xstrdup(pathname); + type = sha1_object_info(sha1, &size); + if (type == OBJ_BAD && !S_ISDIRLNK(mode)) { + htmlf("