summaryrefslogtreecommitdiff
path: root/src/git2/zlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/git2/zlib.h')
-rw-r--r--src/git2/zlib.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/git2/zlib.h b/src/git2/zlib.h
new file mode 100644
index 000000000..b68db9bc1
--- /dev/null
+++ b/src/git2/zlib.h
@@ -0,0 +1,34 @@
+#ifndef INCLUDE_git_zlib_h__
+#define INCLUDE_git_zlib_h__
+
+#include <zlib.h>
+
+/**
+ * @file git/zlib.h
+ * @brief Git data compression routines
+ * @defgroup git_zlib Git data compression routines
+ * @ingroup Git
+ * @{
+ */
+GIT_BEGIN_DECL
+
+#if defined(NO_DEFLATE_BOUND) || ZLIB_VERNUM < 0x1200
+/**
+ * deflateBound returns an upper bound on the compressed size.
+ *
+ * This is a stub function used when zlib does not supply the
+ * deflateBound() implementation itself.
+ *
+ * @param stream the stream pointer.
+ * @param s total length of the source data (in bytes).
+ * @return maximum length of the compressed data.
+ */
+GIT_INLINE(size_t) deflateBound(z_streamp stream, size_t s)
+{
+ return (s + ((s + 7) >> 3) + ((s + 63) >> 6) + 11);
+}
+#endif
+
+/** @} */
+GIT_END_DECL
+#endif