mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Merge rb_parser_enc_compatible_latter
into rb_parser_enc_compatible
This commit is contained in:
parent
4b065bbe2b
commit
f37e6d7f7b
1 changed files with 12 additions and 18 deletions
30
parse.y
30
parse.y
|
@ -2216,15 +2216,25 @@ rb_parser_is_ascii_string(struct parser_params *p, rb_parser_string_t *str)
|
||||||
}
|
}
|
||||||
|
|
||||||
static rb_encoding *
|
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)
|
if (PARSER_STRING_LEN(str2) == 0)
|
||||||
return enc1;
|
return enc1;
|
||||||
if (PARSER_STRING_LEN(str1) == 0)
|
if (PARSER_STRING_LEN(str1) == 0)
|
||||||
return rb_parser_is_ascii_string(p, str2) ? enc1 : enc2;
|
return rb_parser_is_ascii_string(p, str2) ? enc1 : enc2;
|
||||||
|
|
||||||
|
int cr1, cr2;
|
||||||
|
|
||||||
cr1 = rb_parser_enc_str_coderange(p, str1);
|
cr1 = rb_parser_enc_str_coderange(p, str1);
|
||||||
cr2 = rb_parser_enc_str_coderange(p, str2);
|
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;
|
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
|
static void
|
||||||
rb_parser_str_modify(rb_parser_string_t *str)
|
rb_parser_str_modify(rb_parser_string_t *str)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue