mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Expose the rb_interned_str_* family of functions
Fixes [Feature #13381]
This commit is contained in:
parent
68ffc8db08
commit
ef19fb111a
Notes:
git
2020-11-17 09:39:50 +09:00
3 changed files with 35 additions and 0 deletions
|
@ -127,6 +127,8 @@ void rb_enc_copy(VALUE dst, VALUE src);
|
|||
VALUE rb_enc_str_new(const char*, long, rb_encoding*);
|
||||
VALUE rb_enc_str_new_cstr(const char*, rb_encoding*);
|
||||
VALUE rb_enc_str_new_static(const char*, long, rb_encoding*);
|
||||
VALUE rb_enc_interned_str(const char *, long, rb_encoding *);
|
||||
VALUE rb_enc_interned_str_cstr(const char *, rb_encoding *);
|
||||
VALUE rb_enc_reg_new(const char*, long, rb_encoding*, int);
|
||||
PRINTF_ARGS(VALUE rb_enc_sprintf(rb_encoding *, const char*, ...), 2, 3);
|
||||
VALUE rb_enc_vsprintf(rb_encoding *, const char*, va_list);
|
||||
|
|
|
@ -74,6 +74,9 @@ VALUE rb_utf8_str_new_cstr(const char*);
|
|||
VALUE rb_str_new_static(const char *ptr, long len);
|
||||
VALUE rb_usascii_str_new_static(const char *ptr, long len);
|
||||
VALUE rb_utf8_str_new_static(const char *ptr, long len);
|
||||
VALUE rb_str_to_interned_str(VALUE);
|
||||
VALUE rb_interned_str(const char *, long);
|
||||
VALUE rb_interned_str_cstr(const char *);
|
||||
void rb_str_free(VALUE);
|
||||
void rb_str_shared_replace(VALUE, VALUE);
|
||||
VALUE rb_str_buf_append(VALUE, VALUE);
|
||||
|
|
30
string.c
30
string.c
|
@ -11402,6 +11402,36 @@ sym_all_symbols(VALUE _)
|
|||
return rb_sym_all_symbols();
|
||||
}
|
||||
|
||||
VALUE
|
||||
rb_str_to_interned_str(VALUE str)
|
||||
{
|
||||
return rb_fstring(str);
|
||||
}
|
||||
|
||||
VALUE
|
||||
rb_interned_str(const char *ptr, long len)
|
||||
{
|
||||
return rb_fstring_new(ptr, len);
|
||||
}
|
||||
|
||||
VALUE
|
||||
rb_interned_str_cstr(const char *ptr)
|
||||
{
|
||||
return rb_fstring_cstr(ptr);
|
||||
}
|
||||
|
||||
VALUE
|
||||
rb_enc_interned_str(const char *ptr, long len, rb_encoding *enc)
|
||||
{
|
||||
return rb_fstring_enc_new(ptr, len, enc);
|
||||
}
|
||||
|
||||
VALUE
|
||||
rb_enc_interned_str_cstr(const char *ptr, rb_encoding *enc)
|
||||
{
|
||||
return rb_fstring_enc_new(ptr, strlen(ptr), enc);
|
||||
}
|
||||
|
||||
/*
|
||||
* A String object holds and manipulates an arbitrary sequence of
|
||||
* bytes, typically representing characters. String objects may be created
|
||||
|
|
Loading…
Reference in a new issue