From c2dd2d268ed24e618d0f7ebab50a9f088cd272ac Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 4 Oct 2016 16:25:01 +0000 Subject: * internal.h (ST2FIX): new macro to convert st_index_t to Fixnum. a hash value of Object might be Bignum, but it causes many troubles expecially the Object is used as a key of a hash. so I've gave up to do so. * array.c (rb_ary_hash): use above macro. * bignum.c (rb_big_hash): ditto. * hash.c (rb_obj_hash, rb_hash_hash): ditto. * numeric.c (rb_dbl_hash): ditto. * proc.c (proc_hash): ditto. * re.c (rb_reg_hash, match_hash): ditto. * string.c (rb_str_hash_m): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- hash.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'hash.c') diff --git a/hash.c b/hash.c index 1bc93ea92c..2f2b1f169e 100644 --- a/hash.c +++ b/hash.c @@ -239,7 +239,7 @@ VALUE rb_obj_hash(VALUE obj) { st_index_t hnum = any_hash(obj, objid_hash); - return LONG2FIX(hnum); + return ST2FIX(hnum); } int @@ -2277,7 +2277,7 @@ rb_hash_hash(VALUE hash) rb_hash_foreach(hash, hash_i, (VALUE)&hval); } hval = rb_hash_end(hval); - return INT2FIX(hval); + return ST2FIX(hval); } static int -- cgit v1.2.3