summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-17 02:04:37 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-17 02:04:37 +0000
commitae487eda6e961a7010b1a6914cb05100fdf207a5 (patch)
tree774c07686872ca1e9d86d22d0641b9efab9d3bbd /array.c
parent4d70a43e3d014ff2eb4f0d7a8efabff6e657439f (diff)
* array.c (recursive_join): raise ArgumentError for joining
recursive array. * array.c (ary_join_1): ditto. * test/ruby/test_array.rb (TestArray#test_join2): test updated for recursive join. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r--array.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/array.c b/array.c
index b9b60c8736..d8f787c029 100644
--- a/array.c
+++ b/array.c
@@ -1530,7 +1530,7 @@ recursive_join(VALUE obj, VALUE argp, int recur)
VALUE result = arg[2];
if (recur) {
- rb_str_buf_cat_ascii(result, "[...]");
+ rb_raise(rb_eArgError, "recursive array join");
}
else {
ary_join_1(obj, ary, sep, 0, result);
@@ -1573,8 +1573,7 @@ ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result)
obj = val;
ary_join:
if (val == ary) {
- val = rb_usascii_str_new2("[...]");
- goto str_join;
+ rb_raise(rb_eArgError, "recursive array join");
}
else {
VALUE args[3];