diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | hash.c | 8 | ||||
-rw-r--r-- | include/ruby/intern.h | 1 |
3 files changed, 12 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Tue Aug 3 21:01:10 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_check_hash_type): added. + Tue Aug 3 20:30:16 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> * bignum.c (rb_big_eq): never equal to infinity. @@ -418,6 +418,12 @@ to_hash(VALUE hash) return rb_convert_type(hash, T_HASH, "Hash", "to_hash"); } +VALUE +rb_check_hash_type(VALUE hash) +{ + return rb_check_convert_type(hash, T_HASH, "Hash", "to_hash"); +} + /* * call-seq: * Hash.try_convert(obj) -> hash or nil @@ -432,7 +438,7 @@ to_hash(VALUE hash) static VALUE rb_hash_s_try_convert(VALUE dummy, VALUE hash) { - return rb_check_convert_type(hash, T_HASH, "Hash", "to_hash"); + return rb_check_hash_type(hash); } static int diff --git a/include/ruby/intern.h b/include/ruby/intern.h index c977a4bfd5..748df322b7 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -406,6 +406,7 @@ VALUE rb_gc_start(void); #define Init_stack(addr) ruby_init_stack(addr) /* hash.c */ void st_foreach_safe(struct st_table *, int (*)(ANYARGS), st_data_t); +VALUE rb_check_hash_type(VALUE); void rb_hash_foreach(VALUE, int (*)(ANYARGS), VALUE); VALUE rb_hash(VALUE); VALUE rb_hash_new(void); |