- char *page, *url;
-
- if (obj->type == OBJ_COMMIT)
- page = "commit";
- else if (obj->type == OBJ_TREE)
- page = "tree";
- else
- page = "view";
-
- url = cgit_pageurl(cgit_query_repo, page,
- fmt("id=%s", sha1_to_hex(obj->sha1)));
- html_link_open(url, NULL, NULL);
- htmlf("%s %s", typename(obj->type),
- sha1_to_hex(obj->sha1));
- html_link_close();
-}
-
-static int cgit_print_tag_cb(const char *refname, const unsigned char *sha1,
- int flags, void *cb_data)
-{
- struct tag *tag;
- struct taginfo *info;
- struct object *obj;
- char buf[256], *url;
-
- strncpy(buf, refname, sizeof(buf));
- obj = parse_object(sha1);
- if (!obj)
- return 1;
- if (obj->type == OBJ_TAG) {
- tag = lookup_tag(sha1);
- if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag)))
- return 2;
- if (!items) {
- html("<tr class='nohover'><th class='left'>Tag</th>"
- "<th class='left'>Created</th>"
- "<th class='left'>Author</th>"
- "<th class='left'>Reference</th></tr>\n");
+ char *h = txt, *t, c;
+ int urls = 0;
+ int columns = 3;
+
+ if (ctx.repo->enable_log_filecount)
+ columns++;
+ if (ctx.repo->enable_log_linecount)
+ columns++;
+
+
+ while (h && *h) {
+ while (h && *h == ' ')
+ h++;
+ if (!*h)
+ break;
+ t = h;
+ while (t && *t && *t != ' ')
+ t++;
+ c = *t;
+ *t = 0;
+ if (urls++ == 0) {
+ htmlf("<tr class='nohover'><td colspan='%d'> </td></tr>", columns);
+ htmlf("<tr><th class='left' colspan='%d'>Clone</th></tr>\n", columns);