diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | hash.c | 1 |
2 files changed, 6 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Fri Jul 7 00:38:49 2006 Yukihiro Matsumoto <matz@ruby-lang.org> + + * hash.c (rb_hash_default): should not call default procedure if + no key is given. [ruby-list:42541] + Fri Jul 7 00:29:10 2006 Yukihiro Matsumoto <matz@ruby-lang.org> * time.c (time_mload): a patch from Daniel Berger @@ -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; |