diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-09-09 14:01:53 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-09-09 14:01:53 +0000 |
commit | 807c13cc61a04f5393dfa1a4a31e468d00678e84 (patch) | |
tree | 455ee957c0adc2500ad80cd17282dc8191acad2b /ext | |
parent | 390bbfed581a17fac72a9e029624fd667d81a0c8 (diff) |
merge revision(s) 35496:
* 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/branches/ruby_1_9_3@36939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/zlib/extconf.rb | 1 | ||||
-rw-r--r-- | ext/zlib/zlib.c | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/ext/zlib/extconf.rb b/ext/zlib/extconf.rb index da91046fdb..d710226f9c 100644 --- a/ext/zlib/extconf.rb +++ b/ext/zlib/extconf.rb @@ -57,6 +57,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 17f132b1b1..d5909d60c0 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -464,7 +464,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; |