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) {
html("<tr><th>download</th><td colspan='2' class='sha1'>");
cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head,
hex, ctx.repo->snapshots);
cgit_print_snapshot_links(ctx.repo, ctx.qry.head, hex);
html("</td></tr>");
}
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);
}
void cgit_print_snapshot_links(const char *repo, const char *head,
const char *hex, int snapshots)
void cgit_print_snapshot_links(const struct cgit_repo *repo, const char *head,
const char *hex)
{
const struct cgit_snapshot_format* f;
struct strbuf filename = STRBUF_INIT;
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;
for (f = cgit_snapshot_formats; f->suffix; f++) {
if (!(snapshots & f->bit))
if (!(repo->snapshots & f->bit))
continue;
strbuf_setlen(&filename, prefixlen);
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_compose_snapshot_prefix(struct strbuf *filename,
const char *base, const char *ref);
extern void cgit_print_snapshot_links(const char *repo, const char *head,
const char *hex, int snapshots);
extern void cgit_print_snapshot_links(const struct cgit_repo *repo,
const char *head, const char *hex);
extern void cgit_add_hidden_formfields(int incl_head, int incl_search,
const char *page);

View File

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