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.
This commit is contained in:
parent
55b8b5fec1
commit
f9e4edc996
3
crc32.c
3
crc32.c
@ -33,6 +33,9 @@
|
|||||||
#define local static
|
#define local static
|
||||||
|
|
||||||
/* Find a four-byte integer type for crc32_little() and crc32_big(). */
|
/* Find a four-byte integer type for crc32_little() and crc32_big(). */
|
||||||
|
#ifdef Z_SOLO
|
||||||
|
# define NOBYFOUR
|
||||||
|
#endif
|
||||||
#ifndef NOBYFOUR
|
#ifndef NOBYFOUR
|
||||||
# ifdef STDC /* need ANSI C limits.h to determine sizes */
|
# ifdef STDC /* need ANSI C limits.h to determine sizes */
|
||||||
# include <limits.h>
|
# include <limits.h>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user