diff options
author | S-H-GAMELINKS <gamelinks007@gmail.com> | 2022-05-01 23:13:59 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-06-17 12:02:50 +0900 |
commit | 420f3ced4d25c0e81d06f3186c8cfdc509326268 (patch) | |
tree | 273755e3b753cd5aed06f786947cd7dcc2f223f5 /parse.y | |
parent | 51a3ebf4ec6182ee516992dc761950d19a7b697b (diff) |
Using is_ascii_string to check encoding
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/5867
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -6570,7 +6570,7 @@ parser_str_new(const char *ptr, long len, rb_encoding *enc, int func, rb_encodin str = rb_enc_str_new(ptr, len, enc); if (!(func & STR_FUNC_REGEXP) && rb_enc_asciicompat(enc)) { - if (rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT) { + if (is_ascii_string(str)) { } else if (enc0 == rb_usascii_encoding() && enc != rb_utf8_encoding()) { rb_enc_associate(str, rb_ascii8bit_encoding()); @@ -12939,21 +12939,21 @@ rb_reg_fragment_setenc(struct parser_params* p, VALUE str, int options) int opt, idx; rb_char_to_option_kcode(c, &opt, &idx); if (idx != ENCODING_GET(str) && - rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT) { + !is_ascii_string(str)) { goto error; } ENCODING_SET(str, idx); } else if (RE_OPTION_ENCODING_NONE(options)) { if (!ENCODING_IS_ASCII8BIT(str) && - rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT) { + !is_ascii_string(str)) { c = 'n'; goto error; } rb_enc_associate(str, rb_ascii8bit_encoding()); } else if (p->enc == rb_usascii_encoding()) { - if (rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT) { + if (!is_ascii_string(str)) { /* raise in re.c */ rb_enc_associate(str, rb_usascii_encoding()); } |