diff options
author | Nobuyoshi Nakada <[email protected]> | 2024-10-05 16:07:57 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2024-10-05 16:07:57 +0900 |
commit | f37e6d7f7b9dd0fac4fe01637a410dc4752a7ded (patch) | |
tree | 9301967bd381670d375ca8012f14d6df3bbfd07e | |
parent | 4b065bbe2b3e2c5ff747cb27bb1763aa040453a3 (diff) |
Merge `rb_parser_enc_compatible_latter` into `rb_parser_enc_compatible`
-rw-r--r-- | parse.y | 30 |
1 files changed, 12 insertions, 18 deletions
@@ -2216,15 +2216,25 @@ rb_parser_is_ascii_string(struct parser_params *p, rb_parser_string_t *str) } static rb_encoding * -rb_parser_enc_compatible_latter(struct parser_params *p, rb_parser_string_t *str1, rb_parser_string_t *str2, rb_encoding *enc1, rb_encoding *enc2) +rb_parser_enc_compatible(struct parser_params *p, rb_parser_string_t *str1, rb_parser_string_t *str2) { - int cr1, cr2; + rb_encoding *enc1 = rb_parser_str_get_encoding(str1); + rb_encoding *enc2 = rb_parser_str_get_encoding(str2); + + if (enc1 == NULL || enc2 == NULL) + return 0; + + if (enc1 == enc2) { + return enc1; + } if (PARSER_STRING_LEN(str2) == 0) return enc1; if (PARSER_STRING_LEN(str1) == 0) return rb_parser_is_ascii_string(p, str2) ? enc1 : enc2; + int cr1, cr2; + cr1 = rb_parser_enc_str_coderange(p, str1); cr2 = rb_parser_enc_str_coderange(p, str2); @@ -2244,22 +2254,6 @@ rb_parser_enc_compatible_latter(struct parser_params *p, rb_parser_string_t *str return 0; } -static rb_encoding * -rb_parser_enc_compatible(struct parser_params *p, rb_parser_string_t *str1, rb_parser_string_t *str2) -{ - rb_encoding *enc1 = rb_parser_str_get_encoding(str1); - rb_encoding *enc2 = rb_parser_str_get_encoding(str2); - - if (enc1 == NULL || enc2 == NULL) - return 0; - - if (enc1 == enc2) { - return enc1; - } - - return rb_parser_enc_compatible_latter(p, str1, str2, enc1, enc2); -} - static void rb_parser_str_modify(rb_parser_string_t *str) { |