summary refs log tree commit diff
path: root/ui-shared.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2008-03-24 16:00:27 +0100
committerLars Hjemli <hjemli@gmail.com>2008-03-24 16:00:27 +0100
commitf34478cbe0214a201e7ecef3e79ed6c957b7beee (patch)
tree1ee05da742488cab51a06e083d26b7b58d829b43 /ui-shared.c
parente0e4478e7b4812f822d60a13a33525f8e529e1e8 (diff)
Refactor snapshot support
The snapshot support needs to be split between output- and config-related
functions to get the layering between shared.c and ui-*.c right. There
is also some codestyle-issues which needs fixing to make the snapshot
functions more similar to the rest of the cgit code.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-shared.c')
-rw-r--r--ui-shared.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 2596023..aa65988 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -573,4 +573,19 @@ void cgit_print_filemode(unsigned short mode)
 	html_fileperm(mode);
 }
 
-/* vim:set sw=8: */
+void cgit_print_snapshot_links(const char *repo, const char *head,
+			       const char *hex, int snapshots)
+{
+	const struct cgit_snapshot_format* f;
+    	char *filename;
+
+	for (f = cgit_snapshot_formats; f->suffix; f++) {
+		if (!(snapshots & f->bit))
+			continue;
+		filename = fmt("%s-%s%s", cgit_repobasename(repo), hex,
+			       f->suffix);
+		cgit_snapshot_link(filename, NULL, NULL, (char *)head,
+				   (char *)hex, filename);
+		html("<br/>");
+	}
+}