- struct tag *tag;
- struct taginfo *info;
- char buf[256], *page, *url;
-
- strncpy(buf, refname, sizeof(buf));
- tag = lookup_tag(sha1);
- if (tag && !parse_tag(tag) && (info = cgit_parse_tag(tag))){
- html("<tr><td>");
- url = cgit_pageurl(cgit_query_repo, "view",
- fmt("id=%s", sha1_to_hex(sha1)));
- html_link_open(url, NULL, NULL);
- html_txt(buf);
- html_link_close();
- html("</td><td>");
- if (info->tagger_date > 0)
- cgit_print_date(info->tagger_date);
- html("</td><td>");
- if (info->tagger)
- html(info->tagger);
- html("</td><td>");
- if (tag->tagged->type == OBJ_COMMIT)
- page = "commit";
- else if (tag->tagged->type == OBJ_TREE)
- page = "tree";
- else
- page = "view";
-
- url = cgit_pageurl(cgit_query_repo, page,
- fmt("id=%s", sha1_to_hex(tag->tagged->sha1)));
- html_link_open(url, NULL, NULL);
- htmlf("%s %s", type_names[tag->tagged->type],
- sha1_to_hex(tag->tagged->sha1));
- html_link_close();
- html("</td></tr>\n");
- } else {
- html("<tr><td>");
- html_txt(buf);
- html("</td><td colspan='3'>");
- htmlf("*** bad ref %s ***", sha1_to_hex(sha1));
- html("</td></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);
+ }
+ print_url(h, suffix);
+ *t = c;
+ h = t;