aboutsummaryrefslogtreecommitdiffstats
path: root/compat
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2025-01-28 09:41:32 +0100
committerJunio C Hamano <gitster@pobox.com>2025-01-28 13:03:23 -0800
commitbb5d35c1a871cb1d8e4301e7b9b04e3266aec7f6 (patch)
treee952a28b2f492cde4851a433dfde7fde5af42e6a /compat
parentcompat/zlib: provide `deflateBound()` shim centrally (diff)
downloadgit-bb5d35c1a871cb1d8e4301e7b9b04e3266aec7f6.tar.gz
git-bb5d35c1a871cb1d8e4301e7b9b04e3266aec7f6.zip
compat/zlib: provide stubs for `deflateSetHeader()`
The function `deflateSetHeader()` has been introduced with zlib v1.2.2.1, so we don't use it when linking against an older version of it. Refactor the code to instead provide a central stub via "compat/zlib.h" so that we can adapt it based on whether or not we use zlib-ng in a subsequent commit. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat')
-rw-r--r--compat/zlib-compat.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/compat/zlib-compat.h b/compat/zlib-compat.h
index 96a08811a9..6226b30c0c 100644
--- a/compat/zlib-compat.h
+++ b/compat/zlib-compat.h
@@ -7,4 +7,23 @@
# define deflateBound(c,s) ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11)
#endif
+/*
+ * zlib only gained support for setting up the gzip header in v1.2.2.1. In
+ * Git we only set the header to make archives reproducible across different
+ * operating systems, so it's fine to simply make this a no-op when using a
+ * zlib version that doesn't support this yet.
+ */
+#if ZLIB_VERNUM < 0x1221
+struct gz_header_s {
+ int os;
+};
+
+static int deflateSetHeader(z_streamp strm, struct gz_header_s *head)
+{
+ (void)(strm);
+ (void)(head);
+ return Z_OK;
+}
+#endif
+
#endif /* COMPAT_ZLIB_H */