X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/b5a3a2049648415e86d518a8bf2229b3e463b10f..c3f23d4571c06c979eddbd4c973163ba76c7e50f:/ui-shared.c?ds=sidebyside diff --git a/ui-shared.c b/ui-shared.c index fea2c40..7d7fff0 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -20,38 +20,37 @@ static char *http_date(time_t t) {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; static char month[][4] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", - "Jul", "Aug", "Sep", "Oct", "Now", "Dec"}; + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; struct tm *tm = gmtime(&t); return fmt("%s, %02d %s %04d %02d:%02d:%02d GMT", day[tm->tm_wday], tm->tm_mday, month[tm->tm_mon], 1900+tm->tm_year, tm->tm_hour, tm->tm_min, tm->tm_sec); } -void cgit_print_error(char *msg) +void cgit_print_error(const char *msg) { html("
| \n");
if (ctx->repo) {
@@ -663,9 +721,9 @@ void cgit_print_pageheader(struct cgit_context *ctx)
cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head,
ctx->qry.sha1, NULL);
cgit_commit_link("commit", NULL, hc(cmd, "commit"),
- ctx->qry.head, ctx->qry.sha1);
+ ctx->qry.head, ctx->qry.sha1, 0);
cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head,
- ctx->qry.sha1, ctx->qry.sha2, NULL);
+ ctx->qry.sha1, ctx->qry.sha2, NULL, 0);
if (ctx->repo->max_stats)
cgit_stats_link("stats", NULL, hc(cmd, "stats"),
ctx->qry.head, NULL);
@@ -728,13 +786,18 @@ void cgit_print_snapshot_links(const char *repo, const char *head,
const char *hex, int snapshots)
{
const struct cgit_snapshot_format* f;
+ char *prefix;
char *filename;
+ unsigned char sha1[20];
+ if (get_sha1(fmt("refs/tags/%s", hex), sha1) == 0 &&
+ (hex[0] == 'v' || hex[0] == 'V') && isdigit(hex[1]))
+ hex++;
+ prefix = xstrdup(fmt("%s-%s", cgit_repobasename(repo), hex));
for (f = cgit_snapshot_formats; f->suffix; f++) {
if (!(snapshots & f->bit))
continue;
- filename = fmt("%s-%s%s", cgit_repobasename(repo), hex,
- f->suffix);
+ filename = fmt("%s%s", prefix, f->suffix);
cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename);
html(" "); } |