ui-shared: pass repo object to print_snapshot_links()

Both call sites of cgit_print_snapshot_links() use the same values for
the snapshot mask and repository name, which are derived from the
cgit_repo structure so let's pass in the structure and access the fields
directly.

Signed-off-by: John Keeping <john@keeping.me.uk>
Reviewed-by: Christian Hesse <mail@eworm.de>
This commit is contained in:
John Keeping 2018-03-31 14:05:02 +01:00 committed by Jason A. Donenfeld
parent 0bb34ef130
commit bd1b281478
4 changed files with 8 additions and 10 deletions

View File

@ -110,8 +110,7 @@ void cgit_print_commit(char *hex, const char *prefix)
} }
if (ctx.repo->snapshots) { if (ctx.repo->snapshots) {
html("<tr><th>download</th><td colspan='2' class='sha1'>"); html("<tr><th>download</th><td colspan='2' class='sha1'>");
cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head, cgit_print_snapshot_links(ctx.repo, ctx.qry.head, hex);
hex, ctx.repo->snapshots);
html("</td></tr>"); html("</td></tr>");
} }
html("</table>\n"); html("</table>\n");

View File

@ -1103,17 +1103,17 @@ void cgit_compose_snapshot_prefix(struct strbuf *filename, const char *base,
strbuf_addf(filename, "%s-%s", base, ref); strbuf_addf(filename, "%s-%s", base, ref);
} }
void cgit_print_snapshot_links(const char *repo, const char *head, void cgit_print_snapshot_links(const struct cgit_repo *repo, const char *head,
const char *hex, int snapshots) const char *hex)
{ {
const struct cgit_snapshot_format* f; const struct cgit_snapshot_format* f;
struct strbuf filename = STRBUF_INIT; struct strbuf filename = STRBUF_INIT;
size_t prefixlen; size_t prefixlen;
cgit_compose_snapshot_prefix(&filename, cgit_repobasename(repo), hex); cgit_compose_snapshot_prefix(&filename, cgit_repobasename(repo->url), hex);
prefixlen = filename.len; prefixlen = filename.len;
for (f = cgit_snapshot_formats; f->suffix; f++) { for (f = cgit_snapshot_formats; f->suffix; f++) {
if (!(snapshots & f->bit)) if (!(repo->snapshots & f->bit))
continue; continue;
strbuf_setlen(&filename, prefixlen); strbuf_setlen(&filename, prefixlen);
strbuf_addstr(&filename, f->suffix); strbuf_addstr(&filename, f->suffix);

View File

@ -76,8 +76,8 @@ extern void cgit_print_pageheader(void);
extern void cgit_print_filemode(unsigned short mode); extern void cgit_print_filemode(unsigned short mode);
extern void cgit_compose_snapshot_prefix(struct strbuf *filename, extern void cgit_compose_snapshot_prefix(struct strbuf *filename,
const char *base, const char *ref); const char *base, const char *ref);
extern void cgit_print_snapshot_links(const char *repo, const char *head, extern void cgit_print_snapshot_links(const struct cgit_repo *repo,
const char *hex, int snapshots); const char *head, const char *hex);
extern void cgit_add_hidden_formfields(int incl_head, int incl_search, extern void cgit_add_hidden_formfields(int incl_head, int incl_search,
const char *page); const char *page);

View File

@ -34,8 +34,7 @@ static void print_tag_content(char *buf)
static void print_download_links(char *revname) static void print_download_links(char *revname)
{ {
html("<tr><th>download</th><td class='sha1'>"); html("<tr><th>download</th><td class='sha1'>");
cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head, cgit_print_snapshot_links(ctx.repo, ctx.qry.head, revname);
revname, ctx.repo->snapshots);
html("</td></tr>"); html("</td></tr>");
} }