From f37e6d7f7b9dd0fac4fe01637a410dc4752a7ded Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sat, 5 Oct 2024 16:07:57 +0900 Subject: [PATCH] Merge `rb_parser_enc_compatible_latter` into `rb_parser_enc_compatible` --- parse.y | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/parse.y b/parse.y index 08cd4f420c..b532c5ff7d 100644 --- a/parse.y +++ b/parse.y @@ -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) {