Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Avoid library header include in crc32.c for Z_SOLO.

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.
  • Loading branch information...
commit f9e4edc99629ae10e3cfd7091a4742e4e4e2dbec 1 parent 55b8b5f
Mark Adler madler authored
Showing with 3 additions and 0 deletions.
  1. +3 −0  crc32.c
3  crc32.c
View
@@ -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>
Please sign in to comment.
Something went wrong with that request. Please try again.