aboutsummaryrefslogtreecommitdiffstats
path: root/ui-snapshot.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-snapshot.c')
-rw-r--r--ui-snapshot.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ui-snapshot.c b/ui-snapshot.c
index 92cde42..556d3ed 100644
--- a/ui-snapshot.c
+++ b/ui-snapshot.c
@@ -91,6 +91,12 @@ static int write_tar_xz_archive(const char *hex, const char *prefix)
91 return write_compressed_tar_archive(hex, prefix, argv); 91 return write_compressed_tar_archive(hex, prefix, argv);
92} 92}
93 93
94static int write_tar_zstd_archive(const char *hex, const char *prefix)
95{
96 char *argv[] = { "zstd", "-T0", NULL };
97 return write_compressed_tar_archive(hex, prefix, argv);
98}
99
94const struct cgit_snapshot_format cgit_snapshot_formats[] = { 100const struct cgit_snapshot_format cgit_snapshot_formats[] = {
95 /* .tar must remain the 0 index */ 101 /* .tar must remain the 0 index */
96 { ".tar", "application/x-tar", write_tar_archive }, 102 { ".tar", "application/x-tar", write_tar_archive },
@@ -98,6 +104,7 @@ const struct cgit_snapshot_format cgit_snapshot_formats[] = {
98 { ".tar.bz2", "application/x-bzip2", write_tar_bzip2_archive }, 104 { ".tar.bz2", "application/x-bzip2", write_tar_bzip2_archive },
99 { ".tar.lz", "application/x-lzip", write_tar_lzip_archive }, 105 { ".tar.lz", "application/x-lzip", write_tar_lzip_archive },
100 { ".tar.xz", "application/x-xz", write_tar_xz_archive }, 106 { ".tar.xz", "application/x-xz", write_tar_xz_archive },
107 { ".tar.zst", "application/x-zstd", write_tar_zstd_archive },
101 { ".zip", "application/x-zip", write_zip_archive }, 108 { ".zip", "application/x-zip", write_zip_archive },
102 { NULL } 109 { NULL }
103}; 110};