зеркало из https://github.com/github/ruby.git
Add rb_encoding_check function
This commit is contained in:
Родитель
6594623f62
Коммит
18031f4102
22
encoding.c
22
encoding.c
|
@ -1072,12 +1072,9 @@ rb_enc_get(VALUE obj)
|
|||
return rb_enc_from_index(rb_enc_get_index(obj));
|
||||
}
|
||||
|
||||
static rb_encoding* enc_compatible_str(VALUE str1, VALUE str2);
|
||||
|
||||
rb_encoding*
|
||||
rb_enc_check_str(VALUE str1, VALUE str2)
|
||||
static rb_encoding*
|
||||
rb_encoding_check(rb_encoding* enc, VALUE str1, VALUE str2)
|
||||
{
|
||||
rb_encoding *enc = enc_compatible_str(MUST_STRING(str1), MUST_STRING(str2));
|
||||
if (!enc)
|
||||
rb_raise(rb_eEncCompatError, "incompatible character encodings: %s and %s",
|
||||
rb_enc_name(rb_enc_get(str1)),
|
||||
|
@ -1085,15 +1082,20 @@ rb_enc_check_str(VALUE str1, VALUE str2)
|
|||
return enc;
|
||||
}
|
||||
|
||||
static rb_encoding* enc_compatible_str(VALUE str1, VALUE str2);
|
||||
|
||||
rb_encoding*
|
||||
rb_enc_check_str(VALUE str1, VALUE str2)
|
||||
{
|
||||
rb_encoding *enc = enc_compatible_str(MUST_STRING(str1), MUST_STRING(str2));
|
||||
return rb_encoding_check(enc, str1, str2);
|
||||
}
|
||||
|
||||
rb_encoding*
|
||||
rb_enc_check(VALUE str1, VALUE str2)
|
||||
{
|
||||
rb_encoding *enc = rb_enc_compatible(str1, str2);
|
||||
if (!enc)
|
||||
rb_raise(rb_eEncCompatError, "incompatible character encodings: %s and %s",
|
||||
rb_enc_name(rb_enc_get(str1)),
|
||||
rb_enc_name(rb_enc_get(str2)));
|
||||
return enc;
|
||||
return rb_encoding_check(enc, str1, str2);
|
||||
}
|
||||
|
||||
static rb_encoding*
|
||||
|
|
Загрузка…
Ссылка в новой задаче