diff options
author | S-H-GAMELINKS <gamelinks007@gmail.com> | 2022-11-15 13:21:45 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-12-02 01:31:27 +0900 |
commit | 1a64d45c67feed7355d6b53746801acb319394a4 (patch) | |
tree | 7de928b38b2fc079d91120f22d89b92ca6a3e110 /parse.y | |
parent | 7bc63d6f430422535f4dd460a98f3a90578e524c (diff) | |
download | ruby-1a64d45c67feed7355d6b53746801acb319394a4.tar.gz |
Introduce encoding check macro
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -34,6 +34,7 @@ struct lex_context; #include "internal/compile.h" #include "internal/compilers.h" #include "internal/complex.h" +#include "internal/encoding.h" #include "internal/error.h" #include "internal/hash.h" #include "internal/imemo.h" @@ -6984,7 +6985,7 @@ parser_str_new(const char *ptr, long len, rb_encoding *enc, int func, rb_encodin if (!(func & STR_FUNC_REGEXP) && rb_enc_asciicompat(enc)) { if (is_ascii_string(str)) { } - else if (enc0 == rb_usascii_encoding() && enc != rb_utf8_encoding()) { + else if (rb_is_usascii_enc(enc0) && enc != rb_utf8_encoding()) { rb_enc_associate(str, rb_ascii8bit_encoding()); } } @@ -8345,7 +8346,7 @@ here_document(struct parser_params *p, rb_strterm_heredoc_t *here) int cr = ENC_CODERANGE_UNKNOWN; rb_str_coderange_scan_restartable(p->lex.ptok, p->lex.pcur, enc, &cr); if (cr != ENC_CODERANGE_7BIT && - p->enc == rb_usascii_encoding() && + rb_is_usascii_enc(p->enc) && enc != rb_utf8_encoding()) { enc = rb_ascii8bit_encoding(); } @@ -13460,7 +13461,7 @@ rb_reg_fragment_setenc(struct parser_params* p, VALUE str, int options) } rb_enc_associate(str, rb_ascii8bit_encoding()); } - else if (p->enc == rb_usascii_encoding()) { + else if (rb_is_usascii_enc(p->enc)) { if (!is_ascii_string(str)) { /* raise in re.c */ rb_enc_associate(str, rb_usascii_encoding()); |