summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-07 08:43:24 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-07 08:43:24 +0000
commit9757c5450ce440384931965bec959a72da251867 (patch)
tree07e1d1bdf9cdfadcd5e7067b93556bd5960aa498 /io.c
parent42981462c99c28ae1b87adfb148dee67e83c540d (diff)
* io.c (io_puts_ary): check recursion first. [ruby-dev:34580]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/io.c b/io.c
index 6770b41e1c..ad0b6ffda3 100644
--- a/io.c
+++ b/io.c
@@ -4651,11 +4651,13 @@ io_puts_ary(VALUE ary, VALUE out, int recur)
VALUE tmp;
long i;
+ if (recur) {
+ tmp = rb_str_new2("[...]");
+ rb_io_puts(1, &tmp, out);
+ return Qnil;
+ }
for (i=0; i<RARRAY_LEN(ary); i++) {
tmp = RARRAY_PTR(ary)[i];
- if (recur) {
- tmp = rb_str_new2("[...]");
- }
rb_io_puts(1, &tmp, out);
}
return Qnil;