From b0326bce01af3c6c29a29672875b6618964088bc Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 23 Sep 2017 07:09:05 +0000 Subject: dup String#partition return value * string.c (rb_str_partition): return duplicated receiver, when no splits. [ruby-core:82911] [Bug#13925] Author: Seiei Miyagi git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'string.c') diff --git a/string.c b/string.c index bbd23669e6..6cf76e4fd4 100644 --- a/string.c +++ b/string.c @@ -9124,7 +9124,7 @@ rb_str_partition(VALUE str, VALUE sep) pos = rb_reg_search(sep, str, 0, 0); if (pos < 0) { failed: - return rb_ary_new3(3, str, str_new_empty(str), str_new_empty(str)); + return rb_ary_new3(3, rb_str_dup(str), str_new_empty(str), str_new_empty(str)); } sep = rb_str_subpat(str, sep, INT2FIX(0)); if (pos == 0 && RSTRING_LEN(sep) == 0) goto failed; -- cgit v1.2.3