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) |