Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
|
Public APIs related to rb_cString. More...
#include "ruby/internal/config.h"
#include "ruby/internal/attr/nonnull.h"
#include "ruby/internal/attr/pure.h"
#include "ruby/internal/constant_p.h"
#include "ruby/internal/dllexport.h"
#include "ruby/internal/value.h"
#include "ruby/internal/variable.h"
#include "ruby/st.h"
Go to the source code of this file.
Variables | |
rb_gvar_setter_t | rb_str_setter |
Public APIs related to rb_cString.
RBIMPL
or rbimpl
are implementation details. Don't take them as canon. They could rapidly appear then vanish. The name (path) of this header file is also an implementation detail. Do not expect it to persist at the place it is now. Developers are free to move it anywhere anytime at will. __VA_ARGS__
is always available. We assume C99 for ruby itself but we don't assume languages of extension libraries. They could be written in C++98. Definition in file string.h.
#define rb_enc_str_new_lit | ( | str, | |
enc | |||
) | rb_enc_str_new_static((str), rb_strlen_lit(str), (enc)) |
#define rb_enc_str_new_literal | ( | str, | |
enc | |||
) | rb_enc_str_new_lit(str, enc) |
#define rb_exc_new_cstr | ( | exc, | |
str | |||
) |
#define rb_external_str_new_cstr | ( | str | ) |
#define rb_hash_end | ( | h | ) | st_hash_end(h) |
#define rb_hash_uint | ( | h, | |
i | |||
) | st_hash_uint((h), (i)) |
#define rb_hash_uint32 | ( | h, | |
i | |||
) | st_hash_uint32((h), (i)) |
#define rb_locale_str_new_cstr | ( | str | ) |
#define rb_str_buf_cat rb_str_cat |
#define rb_str_buf_cat2 rb_str_cat_cstr |
#define rb_str_buf_new2 rb_str_buf_new_cstr |
#define rb_str_buf_new_cstr | ( | str | ) |
#define rb_str_cat2 rb_str_cat_cstr |
#define rb_str_dup_frozen rb_str_new_frozen |
#define rb_str_new2 rb_str_new_cstr |
#define rb_str_new3 rb_str_new_shared |
#define rb_str_new4 rb_str_new_frozen |
#define rb_str_new5 rb_str_new_with_class |
#define rb_str_new_cstr | ( | str | ) |
#define rb_str_new_lit | ( | str | ) | rb_str_new_static((str), rb_strlen_lit(str)) |
#define rb_str_new_literal | ( | str | ) | rb_str_new_lit(str) |
#define rb_tainted_str_new2 rb_tainted_str_new_cstr |
#define rb_tainted_str_new_cstr | ( | str | ) |
#define rb_usascii_str_new2 rb_usascii_str_new_cstr |
#define rb_usascii_str_new_cstr | ( | str | ) |
#define rb_usascii_str_new_lit | ( | str | ) | rb_usascii_str_new_static((str), rb_strlen_lit(str)) |
#define rb_usascii_str_new_literal | ( | str | ) | rb_usascii_str_new_lit(str) |
#define rb_utf8_str_new_cstr | ( | str | ) |
#define rb_utf8_str_new_lit | ( | str | ) | rb_utf8_str_new_static((str), rb_strlen_lit(str)) |
#define rb_utf8_str_new_literal | ( | str | ) | rb_utf8_str_new_lit(str) |
Definition at line 2462 of file string.c.
References rb_check_convert_type_with_id(), str, and T_STRING.
Referenced by rb_ary_join(), rb_check_id(), rb_check_sockaddr_string_type(), rb_check_symbol(), rb_fiddle_type_ensure(), rb_get_message(), rb_io_extract_encoding_option(), rb_num_get_rounding_option(), rb_str_format(), rb_str_include_range_p(), rb_String(), rb_time_zone_abbreviation(), and rb_to_encoding_index().
Definition at line 1157 of file string.c.
References len, ptr, rb_default_external_encoding(), and rb_external_str_new_with_enc().
Definition at line 1163 of file string.c.
References ptr, rb_default_external_encoding(), rb_external_str_new_with_enc(), and strlen().
Definition at line 1181 of file string.c.
References len, ptr, rb_external_str_new_with_enc(), and rb_filesystem_encoding().
Definition at line 1187 of file string.c.
References ptr, rb_external_str_new_with_enc(), rb_filesystem_encoding(), and strlen().
Referenced by rb_parser_compile_string().
st_index_t rb_hash_end | ( | st_index_t | ) |
st_index_t rb_hash_start | ( | st_index_t | h | ) |
Definition at line 1623 of file random.c.
References st_hash_start.
st_index_t rb_hash_uint | ( | st_index_t | , |
st_index_t | |||
) |
st_index_t rb_hash_uint32 | ( | st_index_t | , |
uint32_t | |||
) |
Definition at line 11549 of file string.c.
References ENCINDEX_US_ASCII, len, ptr, and TRUE.
Referenced by rb_interned_str_cstr().
Definition at line 11556 of file string.c.
References ptr, rb_interned_str(), and strlen().
Definition at line 1169 of file string.c.
References len, ptr, rb_external_str_new_with_enc(), and rb_locale_encoding().
Definition at line 1175 of file string.c.
References ptr, rb_external_str_new_with_enc(), rb_locale_encoding(), and strlen().
st_index_t rb_memhash | ( | const void * | ptr, |
long | len | ||
) |
Definition at line 1629 of file random.c.
References len, ptr, sip_hash13, and sip_uint64_t::u32.
Referenced by rb_big_hash(), rb_complex_hash(), rb_dbl_long_hash(), rb_rational_hash(), and rb_str_hash().
void rb_must_asciicompat | ( | VALUE | str | ) |
Definition at line 2314 of file string.c.
References rb_eEncCompatError, rb_enc_asciicompat, rb_enc_get(), rb_enc_name, rb_raise(), and str.
Referenced by rb_num_get_rounding_option(), rb_str2big_karatsuba(), rb_str2big_normal(), rb_str2big_poweroftwo(), and rb_str_convert_to_inum().
Definition at line 1529 of file string.c.
References rb_funcall(), rb_obj_as_string_result(), str, and T_STRING.
Referenced by rb_inspect(), rb_io_puts(), rb_p(), rb_str_format(), and rb_time_zone_abbreviation().
Definition at line 3118 of file string.c.
References rb_str_buf_append(), str, and StringValue.
Referenced by ole_raise(), rb_keyword_error_new(), rb_load_fail(), rb_str_concat(), and rb_str_ellipsize().
Definition at line 3103 of file string.c.
References ENC_CODERANGE, ENC_CODERANGE_SET, ENCODING_GET, RSTRING_LEN, RSTRING_PTR, and str.
Referenced by rb_str_append().
Definition at line 3079 of file string.c.
References ALLOCA_N, ENC_CODERANGE_7BIT, ENC_CODERANGE_VALID, ENCODING_GET, len, ptr, rb_enc_asciicompat, rb_enc_codelen(), rb_enc_from_index(), rb_enc_mbcput, rb_enc_mbmaxlen, str, and strlen().
Definition at line 1398 of file string.c.
References ALLOC_N, RString::capa, FL_SET, rb_cString, RSTRING, RSTRING_EMBED_LEN_MAX, str, STR_BUF_MIN_SIZE, and STR_NOEMBED.
Referenced by rb_ary_join(), rb_econv_append(), rb_enc_vsprintf(), rb_reg_regsub(), rb_str_buf_new_cstr(), rb_str_concat_literals(), rb_str_conv_enc_opts(), rb_str_escape(), rb_str_format(), and rb_str_inspect().
Definition at line 1415 of file string.c.
References len, ptr, rb_str_buf_cat, rb_str_buf_new(), str, and strlen().
size_t rb_str_capacity | ( | VALUE | str | ) |
Definition at line 773 of file string.c.
Referenced by rb_econv_append(), rb_str_format(), and rb_str_vcatf().
Definition at line 2962 of file string.c.
References len, ptr, rb_eArgError, rb_raise(), and str.
Referenced by rb_file_dirname(), rb_id_attrset(), rb_str_cat_conv_enc_opts(), rb_str_concat(), rb_str_ellipsize(), rb_str_initialize(), and rsock_inspect_sockaddr().
Definition at line 3378 of file string.c.
References ENCODING_GET, lesser, memcmp(), rb_str_comparable(), and RSTRING_GETMEM.
Referenced by rb_iseq_pathobj_new(), and rb_str_upto_each().
Definition at line 3353 of file string.c.
References ENC_CODERANGE_7BIT, ENCODING_GET, FALSE, rb_enc_asciicompat, rb_enc_from_index(), rb_enc_str_coderange(), RSTRING_LEN, and TRUE.
Referenced by rb_str_cmp(), and rb_str_hash_cmp().
Definition at line 3217 of file string.c.
References ALLOCA_N, ENC_CODERANGE, ENC_CODERANGE_7BIT, ENC_CODERANGE_SET, ENC_CODERANGE_VALID, ENCINDEX_ASCII, ENCINDEX_US_ASCII, FIX2LONG, FIXNUM_P, len, memcpy, ONIGERR_INVALID_CODE_POINT_VALUE, ONIGERR_TOO_BIG_WIDE_CHAR_VALUE, rb_enc_associate_index(), rb_enc_codelen(), rb_enc_mbcput, rb_enc_name, rb_enc_precise_mbclen(), rb_enc_to_index(), rb_eRangeError, RB_INTEGER_TYPE_P, rb_num_to_uint(), rb_raise(), rb_str_append(), rb_str_cat(), rb_str_resize(), RSTRING_LEN, RSTRING_PTR, and STR_ENC_GET.
Referenced by Init_String(), make_inspect(), ole_typedesc2val(), rb_iseq_disasm_insn(), and rsock_raise_socket_error().
Definition at line 4795 of file string.c.
References ENC_CODERANGE_CLEAR, int(), len, memmove(), ptr, rb_str_new_frozen(), RBASIC, RSTRING, RSTRING_LEN, RSTRING_PTR, str, STR_EMBEDDABLE_P, STR_NOEMBED, STR_NOFREE, STR_SET_EMBED, STR_SET_EMBED_LEN, STR_SHARED, TERM_LEN, and xfree.
Definition at line 6311 of file string.c.
References ENC_CODERANGE_7BIT, ENC_CODERANGE_SET, IS_EVSTR, ISPRINT, len, LONG_MAX, MBCLEN_CHARFOUND_LEN, MBCLEN_CHARFOUND_P, OnigEncodingTypeST::name, rb_ascii8bit_encindex, rb_enc_asciicompat, rb_enc_associate_index(), rb_enc_from_index(), rb_enc_get_index(), rb_enc_mbc_to_codepoint, rb_enc_precise_mbclen(), rb_eRuntimeError, rb_raise(), rb_str_new, rb_strlen_lit, rb_utf8_encindex, RSTRING_LEN, RSTRING_PTR, snprintf, str, and strlen().
Referenced by Init_String(), and rb_econv_prepare_options().
Definition at line 1631 of file string.c.
References rb_obj_class(), and str.
Referenced by date__parse(), rb_class_path(), rb_find_file_ext(), rb_id_attrset(), rb_str_conv_enc_opts(), rb_str_intern(), rb_vm_set_progname(), rsock_ipaddr(), and ruby_set_script_name().
Shortens str and adds three dots, an ellipsis, if it is longer than len characters.
str | the string to ellipsize. |
len | the maximum string length. |
Definition at line 10517 of file string.c.
References len, Qnil, rb_eIndexError, rb_enc_asciicompat, rb_enc_associate(), rb_enc_from_encoding(), rb_enc_get(), rb_enc_mbminlen, rb_enc_nth(), rb_enc_step_back, rb_raise(), rb_str_append(), rb_str_cat(), rb_str_encode(), rb_str_new, rb_str_subseq(), rb_usascii_str_new, RSTRING_LEN, RSTRING_PTR, and str.
Definition at line 3423 of file string.c.
References Qfalse, Qtrue, rb_equal(), rb_respond_to(), and T_STRING.
Referenced by Init_String(), rb_get_expanded_load_path(), and rb_str_upto_each().
void rb_str_free | ( | VALUE | str | ) |
Definition at line 1433 of file string.c.
References FL_TEST, NULL, RB_DEBUG_COUNTER_INC, RB_DEBUG_COUNTER_INC_IF, rb_vm_fstring_table(), RB_VM_LOCK_ENTER, RB_VM_LOCK_LEAVE, RSTRING_FSTR, ruby_sized_xfree, st_delete, str, STR_HEAP_PTR, STR_HEAP_SIZE, STR_NOFREE, and STR_SHARED.
Definition at line 2766 of file string.c.
References OBJ_FROZEN, rb_obj_freeze(), rb_str_resize(), RSTRING_LEN, and str.
Referenced by Init_String().
st_index_t rb_str_hash | ( | VALUE | str | ) |
Definition at line 3314 of file string.c.
References ENC_CODERANGE_7BIT, ENCODING_GET, rb_enc_str_coderange(), rb_memhash(), RSTRING_LEN, RSTRING_PTR, and str.
Definition at line 3324 of file string.c.
References memcmp(), rb_str_comparable(), and RSTRING_GETMEM.
Definition at line 6199 of file string.c.
References CHAR_ESC_LEN, ENCODING_GET, int(), ISPRINT, MBCLEN_CHARFOUND_LEN, MBCLEN_CHARFOUND_P, NULL, rb_default_external_encoding(), rb_default_internal_encoding(), rb_enc_asciicompat, rb_enc_associate(), rb_enc_codepoint, rb_enc_from_index(), rb_enc_isascii, rb_enc_isprint, rb_enc_mbc_to_codepoint, rb_enc_mbminlen, rb_enc_precise_mbclen(), rb_enc_unicode_p(), rb_str_buf_cat_escaped_char(), rb_str_buf_new(), rb_usascii_encoding(), RSTRING_PTR, snprintf, str, str_buf_cat2, and strlen().
Referenced by Init_String(), rb_id_quote_unprintable(), and rb_str_quote_unprintable().
Definition at line 840 of file symbol.c.
References GLOBAL_SYMBOLS_ENTER, GLOBAL_SYMBOLS_LEAVE, id, ID2SYM, ID_JUNK, IDSET_ATTRSET_FOR_INTERN, OBJ_FREEZE, rb_cSymbol, rb_enc_associate(), rb_enc_get(), rb_fstring(), rb_str_dup(), rb_usascii_encoding(), str, and sym.
Referenced by Init_String(), rb_f_global_variables(), rb_sym_intern(), and rb_to_symbol().
Definition at line 1995 of file string.c.
References LONG2NUM, NULL, and str.
Referenced by Init_String(), and rb_reg_match_p().
Referenced by rb_str_locktmp_ensure().
void rb_str_modify | ( | VALUE | str | ) |
Definition at line 2262 of file string.c.
References ENC_CODERANGE_CLEAR, and str.
Referenced by rb_str_cat_conv_enc_opts(), and rb_str_vcatf().
Definition at line 2270 of file string.c.
References ENC_CODERANGE_CLEAR, len, LONG_MAX, rb_eArgError, rb_raise(), RESIZE_CAPA_TERM, RSTRING_LEN, str, and TERM_LEN.
Referenced by rb_file_expand_path_internal().
Definition at line 835 of file string.c.
References len, ptr, and rb_cString.
Definition at line 869 of file string.c.
References ptr, rb_str_new, and strlen().
Definition at line 1273 of file string.c.
References OBJ_FROZEN, and rb_obj_class().
Referenced by rb_econv_prepare_options(), rb_econv_substr_append(), rb_hash_key_str(), rb_set_class_path_string(), rb_str_drop_bytes(), and rb_str_include_range_p().
Definition at line 1267 of file string.c.
References rb_obj_class(), and str.
Referenced by rb_str_subseq().
Definition at line 2566 of file string.c.
References RSTRING_PTR, str, and STR_ENC_GET.
Definition at line 2044 of file string.c.
References ENC_CODERANGE, ENC_CODERANGE_AND, ENCODING_CODERANGE_SET, LONG_MAX, memcpy, rb_cString, rb_eArgError, rb_enc_check_str(), rb_enc_mbminlen, rb_enc_to_index(), RB_GC_GUARD, rb_raise(), RSTRING_GETMEM, RSTRING_PTR, StringValue, and TERM_FILL.
Referenced by Init_String(), and rb_str_opt_plus().
Definition at line 5632 of file string.c.
References str, and StringValue.
Referenced by Init_String().
Definition at line 2859 of file string.c.
References RString::as, RString::capa, ENC_CODERANGE_CLEAR, len, MEMCPY, ptr, rb_eArgError, rb_raise(), RSTRING, RSTRING_LEN, ruby_xfree(), SIZED_REALLOC_N, str, STR_EMBEDDABLE_P, STR_HEAP_PTR, STR_HEAP_SIZE, STR_SET_EMBED, STR_SET_EMBED_LEN, TERM_FILL, and TERM_LEN.
Referenced by rb_default_home_dir(), rb_econv_append(), rb_enc_vsprintf(), rb_file_expand_path_internal(), rb_find_file(), rb_find_file_ext(), rb_fstring(), rb_iseq_disasm(), rb_parser_fatal(), rb_reg_quote(), rb_str_concat(), rb_str_format(), rb_str_freeze(), rb_str_vcatf(), ruby_init_loadpath(), and VpAlloc().
Definition at line 1637 of file string.c.
References rb_cString, RSTRING_LEN, RUBY_DTRACE_CREATE_HOOK, and str.
Referenced by rb_str_concat_literals().
str | the string to be scrubbed |
repl | the replacement character |
Definition at line 10580 of file string.c.
References ENC_CODERANGE, str, and STR_ENC_GET.
Definition at line 2842 of file string.c.
References RString::capa, len, rb_bug(), rb_eRuntimeError, rb_raise(), RSTRING_PTR, str, STR_SET_LEN, TERM_FILL, and TERM_LEN.
Referenced by ole_wc2vstr(), rb_ary_join(), rb_econv_append(), rb_file_expand_path_internal(), rb_find_file_ext(), rb_str_format(), rb_warn_deprecated(), rb_warn_deprecated_to_remove(), rsock_s_recvfrom(), and rsock_s_recvfrom_nonblock().
Definition at line 8412 of file string.c.
References rb_str_new_cstr, str, and StringValue.
Definition at line 2613 of file string.c.
References ENC_CODERANGE, RSTRING_PTR, str, and STR_ENC_GET.
Referenced by rb_reg_match(), and rb_reg_match2().
Definition at line 2647 of file string.c.
References ENC_CODERANGE, ENC_CODERANGE_VALID, len, rb_enc_mbmaxlen, rb_enc_mbminlen, rb_enc_prev_char, RB_GC_GUARD, rb_utf8_encoding(), RSTRING_LEN, RSTRING_PTR, str, and STR_ENC_GET.
Referenced by rb_reg_match_p().
Definition at line 2624 of file string.c.
References len, RB_GC_GUARD, rb_str_new, rb_str_new_shared(), RSTRING, RSTRING_LEN, RSTRING_PTR, SHARABLE_SUBSTRING_P, str, STR_EMBEDDABLE_P, and TERM_LEN.
Referenced by rb_path_to_class(), rb_reg_match_post(), rb_reg_match_pre(), rb_reg_nth_match(), rb_reg_regsub(), rb_str_ellipsize(), and ruby_init_loadpath().
Definition at line 4315 of file string.c.
References rb_str_new, RSTRING_LEN, RSTRING_PTR, and str.
Referenced by Init_String().
Definition at line 2114 of file string.c.
References INT2FIX, len, LONG_MAX, memcpy, NUM2LONG, rb_cString, rb_eArgError, rb_enc_copy(), rb_raise(), RSTRING, RSTRING_LEN, RSTRING_PTR, str, STR_EMBEDDABLE_P, STR_SET_LEN, STR_SET_NOEMBED, TERM_FILL, TERM_LEN, and ZALLOC_N.
Referenced by Init_String().
Definition at line 1427 of file string.c.
References len.
Referenced by rb_find_file(), rb_find_file_ext(), and VpAlloc().
Definition at line 11543 of file string.c.
References rb_fstring(), and str.
Definition at line 2825 of file string.c.
References FL_TEST, FL_UNSET, rb_eRuntimeError, rb_raise(), str, and STR_TMPLOCK.
Referenced by rb_str_locktmp_ensure().
Definition at line 4865 of file string.c.
References assert, re_registers::beg, ENC_CODERANGE, ENC_CODERANGE_AND, ENC_CODERANGE_BROKEN, ENC_CODERANGE_SET, len, rb_eIndexError, rb_enc_associate(), rb_enc_check(), rb_raise(), RSTRING_PTR, str, and StringValue.
Definition at line 11148 of file string.c.
References rb_cString, rb_sym2str(), and sym.
Referenced by Init_String().
Definition at line 957 of file string.c.
References len, ptr, rb_str_new, and rb_warn_deprecated_to_remove().
Definition at line 964 of file string.c.
References ptr, rb_str_new_cstr, and rb_warn_deprecated_to_remove().
Definition at line 841 of file string.c.
References ENC_CODERANGE_7BIT, ENCODING_CODERANGE_SET, len, ptr, rb_str_new, rb_usascii_encindex, and str.
Definition at line 881 of file string.c.
References ENC_CODERANGE_7BIT, ENCODING_CODERANGE_SET, ptr, rb_str_new_cstr, rb_usascii_encindex, and str.
Definition at line 939 of file string.c.
References ENCINDEX_US_ASCII, len, ptr, and rb_cString.
Definition at line 849 of file string.c.
References len, ptr, rb_cString, rb_enc_associate_index(), rb_utf8_encindex, and str.
Definition at line 889 of file string.c.
References ptr, rb_enc_associate_index(), rb_str_new_cstr, rb_utf8_encindex, and str.
Definition at line 945 of file string.c.
References ENCINDEX_UTF_8, len, ptr, and rb_cString.
rb_gvar_setter_t rb_str_setter |