summaryrefslogtreecommitdiff
path: root/hash.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-02-05 16:51:30 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-02-05 16:51:30 +0000
commitacc1a537448074acf7b331549fb49d2fa001e659 (patch)
treead5dc47db413df1657781df662687fdd89c330aa /hash.c
parentfe923029dfa4e4ec2fbfc211c613598104693d47 (diff)
* hash.c (rb_hash_flatten): do not flatten recursively by default.
[ruby-dev:33603] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'hash.c')
-rw-r--r--hash.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hash.c b/hash.c
index 0328d9d1aa..c3b07442ff 100644
--- a/hash.c
+++ b/hash.c
@@ -1673,6 +1673,11 @@ rb_hash_flatten(int argc, VALUE *argv, VALUE hash)
VALUE ary;
ary = rb_hash_to_a(hash);
+ if (argc == 0) {
+ argc = 1;
+ tmp = INT2FIX(1);
+ argv = &tmp;
+ }
rb_funcall2(ary, rb_intern("flatten!"), argc, argv);
return ary;
}