From 30a378b571c9f826d37c913b32b363f54a8997f4 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Thu, 7 Jun 2018 22:01:50 +0200
Subject: [PATCH] snapshot: support special value 'all' to enable all formats

Signed-off-by: Christian Hesse <mail@eworm.de>
Reviewed-by: John Keeping <john@keeping.me.uk>
---
 cgitrc.5.txt | 1 +
 shared.c     | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index a9d3d0a..3bfacfa 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -429,6 +429,7 @@ snapshots::
 	Text which specifies the default set of snapshot formats that cgit
 	generates links for. The value is a space-separated list of zero or
 	more of the values "tar", "tar.gz", "tar.bz2", "tar.xz" and "zip".
+	The special value "all" enables all snapshot formats.
 	Default value: none.
 
 source-filter::
diff --git a/shared.c b/shared.c
index 21ac8f4..0a11e68 100644
--- a/shared.c
+++ b/shared.c
@@ -390,6 +390,9 @@ int cgit_parse_snapshots_mask(const char *str)
 	if (atoi(str))
 		return 1;
 
+	if (strcmp(str, "all") == 0)
+		return INT_MAX;
+
 	string_list_split(&tokens, str, ' ', -1);
 	string_list_remove_empty_items(&tokens, 0);
 
-- 
2.47.1