summaryrefslogtreecommitdiffstats
path: root/hash.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-06 15:44:26 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-06 15:44:26 +0000
commit25f7c664c5664355dc2538ae0aa7d9b7f2fd1ae7 (patch)
tree59d9d60fc40b48cde2882bc34e7e1ea5b4acdb48 /hash.c
parent6d914b82a59fec7eb59933c3661250a2dfdfc31d (diff)
downloadruby-25f7c664c5664355dc2538ae0aa7d9b7f2fd1ae7.tar.gz
ruby-25f7c664c5664355dc2538ae0aa7d9b7f2fd1ae7.tar.xz
ruby-25f7c664c5664355dc2538ae0aa7d9b7f2fd1ae7.zip
* hash.c (rb_hash_default): should not call default procedure if
no key is given. [ruby-list:42541] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'hash.c')
-rw-r--r--hash.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hash.c b/hash.c
index eec6a71e5..dc804ebd3 100644
--- a/hash.c
+++ b/hash.c
@@ -508,6 +508,7 @@ rb_hash_default(argc, argv, hash)
rb_scan_args(argc, argv, "01", &key);
if (FL_TEST(hash, HASH_PROC_DEFAULT)) {
+ if (argc == 0) return Qnil;
return rb_funcall(RHASH(hash)->ifnone, id_call, 2, hash, key);
}
return RHASH(hash)->ifnone;