@@ -2216,15 +2216,25 @@ rb_parser_is_ascii_string(struct parser_params *p, rb_parser_string_t *str)
2216
2216
}
2217
2217
2218
2218
static rb_encoding *
2219
- 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 )
2219
+ rb_parser_enc_compatible (struct parser_params *p, rb_parser_string_t *str1, rb_parser_string_t *str2)
2220
2220
{
2221
- int cr1, cr2;
2221
+ rb_encoding *enc1 = rb_parser_str_get_encoding(str1);
2222
+ rb_encoding *enc2 = rb_parser_str_get_encoding(str2);
2223
+
2224
+ if (enc1 == NULL || enc2 == NULL)
2225
+ return 0;
2226
+
2227
+ if (enc1 == enc2) {
2228
+ return enc1;
2229
+ }
2222
2230
2223
2231
if (PARSER_STRING_LEN(str2) == 0)
2224
2232
return enc1;
2225
2233
if (PARSER_STRING_LEN(str1) == 0)
2226
2234
return rb_parser_is_ascii_string(p, str2) ? enc1 : enc2;
2227
2235
2236
+ int cr1, cr2;
2237
+
2228
2238
cr1 = rb_parser_enc_str_coderange(p, str1);
2229
2239
cr2 = rb_parser_enc_str_coderange(p, str2);
2230
2240
@@ -2244,22 +2254,6 @@ rb_parser_enc_compatible_latter(struct parser_params *p, rb_parser_string_t *str
2244
2254
return 0;
2245
2255
}
2246
2256
2247
- static rb_encoding *
2248
- rb_parser_enc_compatible(struct parser_params *p, rb_parser_string_t *str1, rb_parser_string_t *str2)
2249
- {
2250
- rb_encoding *enc1 = rb_parser_str_get_encoding(str1);
2251
- rb_encoding *enc2 = rb_parser_str_get_encoding(str2);
2252
-
2253
- if (enc1 == NULL || enc2 == NULL)
2254
- return 0;
2255
-
2256
- if (enc1 == enc2) {
2257
- return enc1;
2258
- }
2259
-
2260
- return rb_parser_enc_compatible_latter(p, str1, str2, enc1, enc2);
2261
- }
2262
-
2263
2257
static void
2264
2258
rb_parser_str_modify(rb_parser_string_t *str)
2265
2259
{
0 commit comments