diff options
Diffstat (limited to 'ui-refs.c')
| -rw-r--r-- | ui-refs.c | 10 |
1 files changed, 6 insertions, 4 deletions
| @@ -99,7 +99,7 @@ static void print_tag_header() | |||
| 99 | static void print_tag_downloads(const struct cgit_repo *repo, const char *ref) | 99 | static void print_tag_downloads(const struct cgit_repo *repo, const char *ref) |
| 100 | { | 100 | { |
| 101 | const struct cgit_snapshot_format* f; | 101 | const struct cgit_snapshot_format* f; |
| 102 | char *filename; | 102 | struct strbuf filename = STRBUF_INIT; |
| 103 | const char *basename; | 103 | const char *basename; |
| 104 | int free_ref = 0; | 104 | int free_ref = 0; |
| 105 | 105 | ||
| @@ -111,7 +111,7 @@ static void print_tag_downloads(const struct cgit_repo *repo, const char *ref) | |||
| 111 | if ((ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1])) | 111 | if ((ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1])) |
| 112 | ref++; | 112 | ref++; |
| 113 | if (isdigit(ref[0])) { | 113 | if (isdigit(ref[0])) { |
| 114 | ref = xstrdup(fmt("%s-%s", basename, ref)); | 114 | ref = fmtalloc("%s-%s", basename, ref); |
| 115 | free_ref = 1; | 115 | free_ref = 1; |
| 116 | } | 116 | } |
| 117 | } | 117 | } |
| @@ -119,13 +119,15 @@ static void print_tag_downloads(const struct cgit_repo *repo, const char *ref) | |||
| 119 | for (f = cgit_snapshot_formats; f->suffix; f++) { | 119 | for (f = cgit_snapshot_formats; f->suffix; f++) { |
| 120 | if (!(repo->snapshots & f->bit)) | 120 | if (!(repo->snapshots & f->bit)) |
| 121 | continue; | 121 | continue; |
| 122 | filename = fmt("%s%s", ref, f->suffix); | 122 | strbuf_reset(&filename); |
| 123 | cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename); | 123 | strbuf_addf(&filename, "%s%s", ref, f->suffix); |
| 124 | cgit_snapshot_link(filename.buf, NULL, NULL, NULL, NULL, filename.buf); | ||
| 124 | html(" "); | 125 | html(" "); |
| 125 | } | 126 | } |
| 126 | 127 | ||
| 127 | if (free_ref) | 128 | if (free_ref) |
| 128 | free((char *)ref); | 129 | free((char *)ref); |
| 130 | strbuf_release(&filename); | ||
| 129 | } | 131 | } |
| 130 | 132 | ||
| 131 | static int print_tag(struct refinfo *ref) | 133 | static int print_tag(struct refinfo *ref) |
