diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-24 07:36:55 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-24 07:36:55 +0000 |
commit | e6d4a21cb1242187cd6b06005b57ba637be2c694 (patch) | |
tree | d2563be465d6681a3b49e8366a2294a7d0a99bdf /string.c | |
parent | 3bfc1d3d201b946f04b2c4f6839a866a2392d06e (diff) |
merge revision(s) 49695: [Backport #10886]
* string.c (rb_str_split_m): raise ArgumentError at broken string
not RegexpError, as Regexp is not involved in.
[ruby-core:68229] [Bug #10886]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -6384,10 +6384,11 @@ rb_str_split_m(int argc, VALUE *argv, VALUE str) } else { fs_set: - spat = get_pat_quoted(spat, 1); + spat = get_pat_quoted(spat, 0); if (BUILTIN_TYPE(spat) == T_STRING) { rb_encoding *enc2 = STR_ENC_GET(spat); + mustnot_broken(spat); split_type = string; if (RSTRING_LEN(spat) == 0) { /* Special case - split into chars */ @@ -6482,7 +6483,6 @@ rb_str_split_m(int argc, VALUE *argv, VALUE str) long slen = RSTRING_LEN(spat); mustnot_broken(str); - mustnot_broken(spat); enc = rb_enc_check(str, spat); while (ptr < eptr && (end = rb_memsearch(sptr, slen, ptr, eptr - ptr, enc)) >= 0) { |