summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLars Hjemli2009-10-16 02:03:32 +0200
committerLars Hjemli2009-10-16 02:03:32 +0200
commit13032727ffa81a4de8964d4002c359c0983cdeb2 (patch)
tree1ba7a2256b5f62e444c6fe8c5a688d58aab9b9f0
parent322a4bc30917741cae30647165670b94f517ebf9 (diff)
downloadcgit-13032727ffa81a4de8964d4002c359c0983cdeb2.tar.gz
ui-shared.c: prettify download links when generated from tag page
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to '')
-rw-r--r--ui-shared.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 07d5dd4..6cb7edb 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -760,13 +760,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("<br/>");
}