aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--io.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 87b220cf5f..a50a647f87 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Wed May 7 17:43:22 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * io.c (io_puts_ary): check recursion first. [ruby-dev:34580]
+
Wed May 7 17:41:14 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (vm_eval_body): initialize retval. [ruby-dev:34576]
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;