diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | hash.c | 7 |
2 files changed, 6 insertions, 5 deletions
@@ -1,3 +1,7 @@ +Fri Jul 12 11:17:41 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (recursive_hash): use RHASH_SIZE() to check hash size. + Fri Jul 12 00:20:00 2013 Masaki Matsushita <glass.saga@gmail.com> * hash.c (rb_hash_size): use RHASH_SIZE(). @@ -1869,12 +1869,9 @@ hash_i(VALUE key, VALUE val, VALUE arg) static VALUE recursive_hash(VALUE hash, VALUE dummy, int recur) { - st_index_t hval; + st_index_t hval = RHASH_SIZE(hash); - if (!RHASH(hash)->ntbl) - return LONG2FIX(0); - hval = RHASH(hash)->ntbl->num_entries; - if (!hval) return LONG2FIX(0); + if (!hval) return INT2FIX(0); if (recur) hval = rb_hash_uint(rb_hash_start(rb_hash(rb_cHash)), hval); else |