]> git.lizzy.rs Git - zlib.git/commitdiff
Avoid library header include in crc32.c for Z_SOLO.
authorMark Adler <madler@alumni.caltech.edu>
Thu, 2 Feb 2012 07:47:47 +0000 (23:47 -0800)
committerMark Adler <madler@alumni.caltech.edu>
Thu, 2 Feb 2012 07:55:29 +0000 (23:55 -0800)
crc32.c was #including limits.h in order to find a four-byte integer
type.  It was doing this even if Z_SOLO were defined, violating the
intent of Z_SOLO, which is to include no library headers and require
no library functions.  Now crc32.c obeys the intent of Z_SOLO, but
with the downside that crc32() will be slower than when not compiled
with Z_SOLO.  This can be remedied manually by typedefing u4 to a
known four-byte unsigned integer type, and #defining BYFOUR in
crc32.c.

crc32.c

diff --git a/crc32.c b/crc32.c
index c12471e6171594a691ab26a1a790e5eaf3fea63c..ddf0025c054c2ac8b7ebe0e56d99bf6923e34938 100644 (file)
--- a/crc32.c
+++ b/crc32.c
@@ -33,6 +33,9 @@
 #define local static
 
 /* Find a four-byte integer type for crc32_little() and crc32_big(). */
+#ifdef Z_SOLO
+#  define NOBYFOUR
+#endif
 #ifndef NOBYFOUR
 #  ifdef STDC           /* need ANSI C limits.h to determine sizes */
 #    include <limits.h>