[PATCH 1/2] ui-shared: pass repo object to print_snapshot_links()

John Keeping john at keeping.me.uk
Sat Mar 31 15:36:25 CEST 2018


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 at keeping.me.uk>
---
 ui-commit.c | 3 +--
 ui-shared.c | 8 ++++----
 ui-shared.h | 4 ++--
 ui-tag.c    | 3 +--
 4 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/ui-commit.c b/ui-commit.c
index abf58f6..ea17461 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -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");
diff --git a/ui-shared.c b/ui-shared.c
index 9d8f66b..da92594 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -1102,17 +1102,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);
diff --git a/ui-shared.h b/ui-shared.h
index b760a17..b3eb8c5 100644
--- a/ui-shared.h
+++ b/ui-shared.h
@@ -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);
 
diff --git a/ui-tag.c b/ui-tag.c
index 909cde0..a7c44c0 100644
--- a/ui-tag.c
+++ b/ui-tag.c
@@ -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>");
 }
 
-- 
2.14.1.555.g1b9dbff880.dirty



More information about the CGit mailing list