summaryrefslogtreecommitdiff
path: root/hash.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-10 09:25:58 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-10 09:25:58 +0000
commit16e7869ded99732192e867b4e900b457bdef88a9 (patch)
tree0c7e5194b5a2a9482ac7d523eac609baf0249802 /hash.c
parentbda0e2fd84340e34dee0804e250f531893da763a (diff)
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
Diffstat (limited to 'hash.c')
-rw-r--r--hash.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/hash.c b/hash.c
index 5b1abbd732..f34e6e7fdf 100644
--- a/hash.c
+++ b/hash.c
@@ -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;