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 --- internal.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'internal.h') diff --git a/internal.h b/internal.h index 54e5d3bc78..de435ac16b 100644 --- a/internal.h +++ b/internal.h @@ -323,6 +323,9 @@ ntz_intptr(uintptr_t x) { VALUE rb_int128t2big(int128_t n); #endif +#define ST2FIX(h) LONG2FIX((long)(h)) + + /* arguments must be Fixnum */ static inline VALUE rb_fix_mul_fix(VALUE x, VALUE y) -- cgit v1.2.3