Skip to content

Commit

Permalink
Merge pull request #68 from KJTsanaktsidis/ktsanaktsidis/fix_cloudfla…
Browse files Browse the repository at this point in the history
…re_zlib

Fix misdetection of {crc32,alder32}_z in cloudflare zlib fork
  • Loading branch information
ioquatix authored Oct 26, 2023
2 parents 280a1b5 + c96e8b9 commit 48e3685
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
8 changes: 6 additions & 2 deletions ext/zlib/extconf.rb
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,16 @@
$defs << "-DHAVE_CRC32_COMBINE"
$defs << "-DHAVE_ADLER32_COMBINE"
$defs << "-DHAVE_TYPE_Z_CRC_T"
$defs << "-DHAVE_TYPE_Z_SIZE_T"
$defs << "-DHAVE_CRC32_Z"
$defs << "-DHAVE_ADLER32_Z"
$defs << "-DHAVE_ZLIB_SIZE_T_FUNCS"
else
have_func('crc32_combine', 'zlib.h')
have_func('adler32_combine', 'zlib.h')
have_type('z_crc_t', 'zlib.h')
have_type('z_size_t', 'zlib.h')
if have_func('crc32_z', 'zlib.h') && have_func('adler32_z', 'zlib.h')
$defs << "-DHAVE_ZLIB_SIZE_T_FUNCS"
end
end

create_makefile('zlib') {|conf|
Expand Down
4 changes: 2 additions & 2 deletions ext/zlib/zlib.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
#endif
#endif

#if defined(HAVE_TYPE_Z_SIZE_T)
#if defined(HAVE_ZLIB_SIZE_T_FUNCS)
typedef uLong (*checksum_func)(uLong, const Bytef*, z_size_t);
# define crc32 crc32_z
# define adler32 adler32_z
Expand Down Expand Up @@ -388,7 +388,7 @@ rb_zlib_version(VALUE klass)
# define mask32(x) (x)
#endif

#if SIZEOF_LONG > SIZEOF_INT && !defined(HAVE_TYPE_Z_SIZE_T)
#if SIZEOF_LONG > SIZEOF_INT && !defined(HAVE_ZLIB_SIZE_T_FUNCS)
static uLong
checksum_long(uLong (*func)(uLong, const Bytef*, uInt), uLong sum, const Bytef *ptr, long len)
{
Expand Down

0 comments on commit 48e3685

Please sign in to comment.