From ce007c7c86b4f6793179088937d23b5b01962118 Mon Sep 17 00:00:00 2001 From: akr Date: Mon, 30 Apr 2012 11:11:21 +0000 Subject: [PATCH] * ext/zlib/extconf.rb: detect z_crc_t type which will be defined since zlib-1.2.7. * ext/zlib/zlib.c (rb_zlib_crc_table): use z_crc_t if available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ ext/zlib/extconf.rb | 1 + ext/zlib/zlib.c | 6 +++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a271a0547c..c1141202c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Apr 30 20:10:04 2012 Tanaka Akira + + * ext/zlib/extconf.rb: detect z_crc_t type which will be defined + since zlib-1.2.7. + + * ext/zlib/zlib.c (rb_zlib_crc_table): use z_crc_t if available. + Mon Apr 30 09:02:15 2012 Ayumu AIZAWA * ext/openssl/lib/openssl/ssl.rb: add hostname to "hostname does not diff --git a/ext/zlib/extconf.rb b/ext/zlib/extconf.rb index 499f55a046..d94fea743b 100644 --- a/ext/zlib/extconf.rb +++ b/ext/zlib/extconf.rb @@ -58,6 +58,7 @@ if %w'z libz zlib1 zlib zdll'.find {|z| have_library(z, 'deflateReset')} and have_func('crc32_combine', 'zlib.h') have_func('adler32_combine', 'zlib.h') + have_type('z_crc_t', 'zlib.h') create_makefile('zlib') diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index d8cbe2fd65..fee74bfc98 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -505,7 +505,11 @@ rb_zlib_crc32_combine(VALUE klass, VALUE crc1, VALUE crc2, VALUE len2) static VALUE rb_zlib_crc_table(VALUE obj) { - const unsigned long *crctbl; +#if !defined(HAVE_TYPE_Z_CRC_T) + /* z_crc_t is defined since zlib-1.2.7. */ + typedef unsigned long z_crc_t; +#endif + const z_crc_t *crctbl; VALUE dst; int i;