]> git.cameronkatri.com Git - cgit.git/blobdiff - ui-refs.c
ui-shared: pass separator in to cgit_print_snapshot_links()
[cgit.git] / ui-refs.c
index 73a187be5b0c502facefced6720d26d3e1601eb2..7b95e8b76324ffcf1374a392f9d71c81d29f671a 100644 (file)
--- a/ui-refs.c
+++ b/ui-refs.c
@@ -73,7 +73,7 @@ static int print_branch(struct refinfo *ref)
                html_txt(info->author);
                cgit_close_filter(ctx.repo->email_filter);
                html("</td><td colspan='2'>");
-               cgit_print_age(info->commit->date, -1, NULL);
+               cgit_print_age(info->committer_date, info->committer_tz, -1);
        } else {
                html("</td><td></td><td>");
                cgit_object_link(ref->object);
@@ -93,34 +93,25 @@ static void print_tag_header(void)
 static void print_tag_downloads(const struct cgit_repo *repo, const char *ref)
 {
        const struct cgit_snapshot_format* f;
-       struct strbuf filename = STRBUF_INIT;
        const char *basename;
-       int free_ref = 0;
-
-       if (!ref || strlen(ref) < 1)
-               return;
-
-       basename = cgit_repobasename(repo->url);
-       if (!starts_with(ref, basename)) {
-               if ((ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1]))
-                       ref++;
-               if (isdigit(ref[0])) {
-                       ref = fmtalloc("%s-%s", basename, ref);
-                       free_ref = 1;
-               }
-       }
+       struct strbuf filename = STRBUF_INIT;
+       size_t prefixlen;
 
+       basename = cgit_snapshot_prefix(repo);
+       if (starts_with(ref, basename))
+               strbuf_addstr(&filename, ref);
+       else
+               cgit_compose_snapshot_prefix(&filename, basename, ref);
+       prefixlen = filename.len;
        for (f = cgit_snapshot_formats; f->suffix; f++) {
                if (!(repo->snapshots & f->bit))
                        continue;
-               strbuf_reset(&filename);
-               strbuf_addf(&filename, "%s%s", ref, f->suffix);
+               strbuf_setlen(&filename, prefixlen);
+               strbuf_addstr(&filename, f->suffix);
                cgit_snapshot_link(filename.buf, NULL, NULL, NULL, NULL, filename.buf);
                html("&nbsp;&nbsp;");
        }
 
-       if (free_ref)
-               free((char *)ref);
        strbuf_release(&filename);
 }
 
@@ -135,7 +126,7 @@ static int print_tag(struct refinfo *ref)
                tag = (struct tag *)obj;
                obj = tag->tagged;
                info = ref->tag;
-               if (!tag || !info)
+               if (!info)
                        return 1;
        }
 
@@ -161,9 +152,9 @@ static int print_tag(struct refinfo *ref)
        html("</td><td colspan='2'>");
        if (info) {
                if (info->tagger_date > 0)
-                       cgit_print_age(info->tagger_date, -1, NULL);
+                       cgit_print_age(info->tagger_date, info->tagger_tz, -1);
        } else if (ref->object->type == OBJ_COMMIT) {
-               cgit_print_age(ref->commit->commit->date, -1, NULL);
+               cgit_print_age(ref->commit->commit->date, 0, -1);
        }
        html("</td></tr>\n");
 
@@ -236,7 +227,7 @@ void cgit_print_tags(int maxcount)
 
 void cgit_print_refs(void)
 {
-
+       cgit_print_layout_start();
        html("<table class='list nowrap'>");
 
        if (ctx.qry.path && starts_with(ctx.qry.path, "heads"))
@@ -249,4 +240,5 @@ void cgit_print_refs(void)
                cgit_print_tags(0);
        }
        html("</table>");
+       cgit_print_layout_end();
 }