diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-23 06:26:42 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-23 06:26:42 +0000 |
commit | a10fdc92707f479961ef65de12736d8cdb852bfa (patch) | |
tree | f660652265e57d8fe81ff2de69398158fcc87a39 /string.c | |
parent | 8c13c9cb0ef310587682f108f9379c9c43c58e5c (diff) |
string.c: proper exception
* 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/trunk@49695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -6387,10 +6387,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 */ @@ -6485,7 +6486,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) { |