diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-11-10 09:25:58 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-11-10 09:25:58 +0000 |
commit | 16e7869ded99732192e867b4e900b457bdef88a9 (patch) | |
tree | 0c7e5194b5a2a9482ac7d523eac609baf0249802 | |
parent | bda0e2fd84340e34dee0804e250f531893da763a (diff) | |
download | ruby-16e7869ded99732192e867b4e900b457bdef88a9.tar.gz |
hash.c: use rb_func_proc_new
* hash.c (rb_hash_to_proc): use rb_func_proc_new to make light
weight proc. [Feature #11653]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | hash.c | 5 |
2 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Tue Nov 10 18:25:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash_to_proc): use rb_func_proc_new to make light + weight proc. [Feature #11653] + Tue Nov 10 18:23:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> * proc.c (cfunc_proc_t): add room for me. @@ -2769,13 +2769,14 @@ rb_hash_gt(VALUE hash, VALUE other) static VALUE hash_proc_call(VALUE key, VALUE hash, int argc, const VALUE *argv, VALUE passed_proc) { - return rb_hash_aref(hash, key); + rb_check_arity(argc, 1, 1); + return rb_hash_aref(hash, *argv); } static VALUE rb_hash_to_proc(VALUE hash) { - return rb_proc_new(hash_proc_call, hash); + return rb_func_proc_new(hash_proc_call, hash); } static int path_tainted = -1; |