Stop using rb_fstring publicly

rb_fstring is a private API, so we should use rb_str_to_interned_str
instead, which is a public API.
This commit is contained in:
Peter Zhu 2024-02-22 16:14:11 -05:00
Родитель 01f9b2ae41
Коммит 510404f2de
3 изменённых файлов: 3 добавлений и 8 удалений

Просмотреть файл

@ -2,12 +2,10 @@
#include "ruby/encoding.h"
#include "internal/string.h"
VALUE rb_fstring(VALUE str);
VALUE
bug_s_fstring(VALUE self, VALUE str)
{
return rb_fstring(str);
return rb_str_to_interned_str(str);
}
VALUE
@ -15,7 +13,7 @@ bug_s_fstring_fake_str(VALUE self)
{
static const char literal[] = "abcdefghijklmnopqrstuvwxyz";
struct RString fake_str;
return rb_fstring(rb_setup_fake_str(&fake_str, literal, sizeof(literal) - 1, 0));
return rb_str_to_interned_str(rb_setup_fake_str(&fake_str, literal, sizeof(literal) - 1, 0));
}
VALUE

Просмотреть файл

@ -51,10 +51,8 @@ VALUE string_spec_rb_str_set_len_RSTRING_LEN(VALUE self, VALUE str, VALUE len) {
return INT2FIX(RSTRING_LEN(str));
}
VALUE rb_fstring(VALUE str); /* internal.h, used in ripper */
VALUE string_spec_rb_str_fstring(VALUE self, VALUE str) {
return rb_fstring(str);
return rb_str_to_interned_str(str);
}
VALUE string_spec_rb_str_buf_new(VALUE self, VALUE len, VALUE str) {

Просмотреть файл

@ -398,7 +398,6 @@ fstr_update_callback(st_data_t *key, st_data_t *value, st_data_t data, int exist
}
}
RUBY_FUNC_EXPORTED
VALUE
rb_fstring(VALUE str)
{