deflateBound() was added in ZLIB 1.2, but there is unfortunately no easy
way to check against the ZLIB version. I would suggest to use the fix
below until everyone has a recent ZLIB installed (neither my RHEL3 nor my
Darwin box does by default).
Andreas
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -240,7 +240,11 @@ int write_sha1_file(char *buf, unsigned
/* Set it up */
memset(&stream, 0, sizeof(stream));
deflateInit(&stream, Z_BEST_COMPRESSION);
+#ifdef ONCE_EVERYONE_UPDATED_TO_ZLIB_12
size = deflateBound(&stream, len);
+#else
+ size = len + ((len + 7) >> 3) + ((len + 63) >> 6) + 11;
+#endif
compressed = malloc(size);
/* Compress it */