Ruby  3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
Macros | Functions | Variables
escape.c File Reference

(b76ad15ed0da636161de0243c547ee1e6fc95681)

#include "ruby.h"
#include "ruby/encoding.h"
Include dependency graph for escape.c:

Go to the source code of this file.

Macros

#define lower_hexdigits   (ruby_hexdigits+0)
 
#define upper_hexdigits   (ruby_hexdigits+16)
 
#define char_to_number(c)   ruby_digit36_to_number_table[(unsigned char)(c)]
 
#define HTML_ESCAPE_MAX_LEN   6
 
#define HTML_ESCAPE(c, str)   [c] = {rb_strlen_lit(str), str}
 
#define MATCH(s)
 

Functions

RUBY_EXTERN unsigned long ruby_scan_digits (const char *str, ssize_t len, int base, size_t *retlen, int *overflow)
 
void Init_escape (void)
 
void InitVM_escape (void)
 

Variables

const RUBY_EXTERN char ruby_hexdigits []
 
const RUBY_EXTERN signed char ruby_digit36_to_number_table []
 

Macro Definition Documentation

◆ char_to_number

#define char_to_number (   c)    ruby_digit36_to_number_table[(unsigned char)(c)]

Definition at line 9 of file escape.c.

◆ HTML_ESCAPE

#define HTML_ESCAPE (   c,
  str 
)    [c] = {rb_strlen_lit(str), str}

◆ HTML_ESCAPE_MAX_LEN

#define HTML_ESCAPE_MAX_LEN   6

Definition at line 14 of file escape.c.

◆ lower_hexdigits

#define lower_hexdigits   (ruby_hexdigits+0)

Definition at line 7 of file escape.c.

◆ MATCH

#define MATCH (   s)
Value:
(len - i >= (int)rb_strlen_lit(s) && \
memcmp(&cstr[i], s, rb_strlen_lit(s)) == 0 && \
(i += rb_strlen_lit(s) - 1, 1))

◆ upper_hexdigits

#define upper_hexdigits   (ruby_hexdigits+16)

Definition at line 8 of file escape.c.

Function Documentation

◆ Init_escape()

void Init_escape ( void  )

Definition at line 389 of file escape.c.

References rb_ext_ractor_safe().

◆ InitVM_escape()

void InitVM_escape ( void  )

Definition at line 400 of file escape.c.

◆ ruby_scan_digits()

RUBY_EXTERN unsigned long ruby_scan_digits ( const char *  str,
ssize_t  len,
int  base,
size_t *  retlen,
int *  overflow 
)

Definition at line 98 of file util.c.

Variable Documentation

◆ len

uint8_t len

Definition at line 17 of file escape.c.

Referenced by bigdecimal_parse_special_string(), explicit_bzero(), getnameinfo(), memcmp(), nan(), onig_error_code_to_str(), onig_is_code_in_cc(), onig_node_str_cat(), onig_strcpy(), onig_vsnprintf_with_pattern(), onigenc_mbn_mbc_case_fold(), onigenc_mbn_mbc_to_code(), onigenc_minimum_property_name_to_ctype(), onigenc_str_bytelen_null(), onigenc_strlen_null(), ossl_buf2str(), ossl_pem_passwd_cb(), rb_alloc_tmp_buffer(), rb_arithmetic_sequence_beg_len_step(), rb_ary_aref1(), rb_ary_cancel_sharing(), rb_ary_cmp(), rb_ary_delete_at(), rb_ary_dup(), rb_ary_join(), rb_ary_last(), rb_ary_plus(), rb_ary_resize(), rb_ary_reverse(), rb_ary_rotate(), rb_ary_shift(), rb_ary_store(), rb_ary_subseq(), rb_ary_subseq_step(), rb_big_clone(), rb_big_isqrt(), rb_big_new(), rb_check_id_cstr(), rb_check_symbol_cstr(), rb_deprecate_constant(), rb_econv_append(), rb_econv_insert_output(), rb_econv_set_replacement(), rb_econv_substr_append(), rb_enc_ascget(), rb_enc_find_index2(), rb_enc_str_buf_cat(), rb_enc_str_new(), rb_enc_symname2_p(), rb_exc_new(), rb_external_str_new(), rb_external_str_new_with_enc(), rb_file_load_ok(), rb_filesystem_str_new(), rb_freopen(), rb_init_iv_list(), rb_insn_operand_intern(), rb_int_parse_cstr(), rb_intern2(), rb_intern3(), rb_io_popen(), rb_io_ungetc(), rb_iseq_build_from_ary(), rb_iseq_disasm_insn(), rb_ivar_lookup(), rb_keyword_error_new(), rb_locale_str_new(), rb_memcicmp(), rb_memory_view_init_as_byte_array(), rb_memory_view_parse_item_format(), rb_obj_copy_ivar(), rb_ractor_receive_parameters(), rb_ractor_send_parameters(), rb_range_beg_len(), rb_range_component_beg_len(), rb_readlink(), rb_str2big_karatsuba(), rb_str2big_normal(), rb_str2big_poweroftwo(), rb_str_buf_cat_ascii(), rb_str_buf_new_cstr(), rb_str_cat(), rb_str_cat_conv_enc_opts(), rb_str_chomp_string(), rb_str_concat(), rb_str_concat_literals(), rb_str_conv_enc_opts(), rb_str_convert_to_inum(), rb_str_dump(), rb_str_ellipsize(), rb_str_end_with_asciichar(), rb_str_fill_terminator(), rb_str_initialize(), rb_str_modify_expand(), rb_str_quote_unprintable(), rb_str_resize(), rb_str_subpos(), rb_str_subseq(), rb_str_symname_p(), rb_str_times(), rb_struct_init_copy(), rb_sym_intern(), rb_sym_intern_ascii(), rb_tainted_str_new(), rb_usascii_str_new(), rb_vm_mark(), rb_w32_conv_from_wchar(), rb_w32_conv_from_wstr(), rb_w32_gethostbyaddr(), rb_w32_gethostname(), rb_w32_home_dir(), rb_w32_mbstr_to_wstr(), rb_w32_read(), rb_w32_reparse_symlink_p(), rb_w32_wrap_io_handle(), rb_w32_write(), rb_w32_write_console(), rb_w32_wstr_to_mbstr(), reg_get_val(), rsock_inspect_sockaddr(), rsock_io_socket_addrinfo(), rsock_s_accept(), rsock_s_recvfrom(), rsock_s_recvfrom_nonblock(), rsock_sys_fail_sockaddr(), rsock_syserr_fail_sockaddr(), ruby_each_words(), ruby_enc_find_extname(), ruby_env_debug_option(), ruby_marshal_read_long(), ruby_require_internal(), ruby_scan_digits(), ruby_scan_hex(), ruby_scan_oct(), ruby_setenv(), ruby_sized_xrealloc2(), ruby_strdup(), ruby_strtoul(), setproctitle(), SHA1_Update(), SHA256_Data(), SHA256_Update(), SHA384_Data(), SHA384_Update(), SHA512_Data(), SHA512_Update(), sip_hash13(), sip_hash_final(), st_hash(), and verbose().

◆ ruby_digit36_to_number_table

const RUBY_EXTERN signed char ruby_digit36_to_number_table[]

Definition at line 6 of file escape.c.

◆ ruby_hexdigits

const RUBY_EXTERN char ruby_hexdigits[]

Definition at line 5 of file escape.c.

◆ str

char str[HTML_ESCAPE_MAX_LEN+1]

Definition at line 18 of file escape.c.

Referenced by asn1str_to_str(), bigdecimal_parse_special_string(), date_zone_to_diff(), make_inspect(), ole_typedesc2val(), onig_match(), onig_scan(), onig_search(), onig_search_gpos(), ossl_buf2str(), ossl_str_new(), procstat_vm(), rb_any_to_s(), rb_block_to_s(), rb_category_compile_warn(), rb_check_string_type(), rb_compile_warn(), rb_compile_warning(), rb_cstr2inum(), rb_ec_str_resurrect(), rb_econv_insert_output(), rb_econv_set_replacement(), rb_enc_str_asciionly_p(), rb_enc_str_buf_cat(), rb_enc_str_coderange(), rb_enc_str_new(), rb_enc_str_scrub(), rb_enc_uint_chr(), rb_eval_string(), rb_eval_string_wrap(), rb_exc_new_str(), rb_execarg_commandline(), rb_external_str_new_with_enc(), rb_external_str_with_enc(), rb_f_kill(), rb_gc_free_dsymbol(), rb_id2name(), rb_id_attrset(), rb_id_quote_unprintable(), rb_inspect(), rb_int_parse_cstr(), rb_intern3(), rb_invalid_str(), rb_io_addstr(), rb_iseq_disasm(), rb_iseq_disasm_insn(), rb_iseq_ibf_dump(), rb_must_asciicompat(), rb_name_error_str(), rb_num_get_rounding_option(), rb_obj_as_string(), rb_readlink(), rb_reg_check_preprocess(), rb_reg_prepare_re(), rb_reg_quote(), rb_reg_regsub(), rb_reg_search(), rb_set_class_path(), rb_set_class_path_string(), rb_str2big_karatsuba(), rb_str2big_normal(), rb_str2big_poweroftwo(), rb_str2inum(), rb_str_append(), rb_str_buf_append(), rb_str_buf_cat_ascii(), rb_str_buf_new(), rb_str_buf_new_cstr(), rb_str_cat(), rb_str_catf(), rb_str_chomp_string(), rb_str_concat_literals(), rb_str_conv_enc(), rb_str_conv_enc_opts(), rb_str_convert_to_inum(), rb_str_drop_bytes(), rb_str_dump(), rb_str_ellipsize(), rb_str_encode(), rb_str_end_with_asciichar(), rb_str_escape(), rb_str_export(), rb_str_export_locale(), rb_str_export_to_enc(), rb_str_fill_terminator(), rb_str_free(), rb_str_freeze(), rb_str_hash(), rb_str_initialize(), rb_str_inspect(), rb_str_locktmp_ensure(), rb_str_memsize(), rb_str_modify_expand(), rb_str_resurrect(), rb_str_scrub(), rb_str_set_len(), rb_str_shared_replace(), rb_str_split(), rb_str_subpos(), rb_str_subseq(), rb_str_succ(), rb_str_to_interned_str(), rb_str_to_inum(), rb_str_to_str(), rb_str_unlocktmp(), rb_str_vcatf(), rb_string_value_cstr(), rb_string_value_ptr(), rb_usascii_str_new(), rb_usascii_str_new_cstr(), rb_utf8_str_new(), rb_utf8_str_new_cstr(), rb_w32_conv_from_wstr(), rb_w32_mbstr_to_wstr(), rb_w32_write_console(), rsock_s_recvfrom(), rsock_s_recvfrom_nonblock(), rsock_syserr_fail_raddrinfo(), RUBY_ALIAS_FUNCTION(), ruby_brace_glob(), ruby_each_words(), ruby_require_internal(), ruby_scan_digits(), ruby_set_debug_option(), ruby_setenv(), ruby_snprintf(), ruby_strdup(), ruby_strtoul(), ruby_vsnprintf(), VpAlloc(), and VpCreateRbObject().

len
uint8_t len
Definition: escape.c:17
rb_strlen_lit
#define rb_strlen_lit(str)
Definition: string.h:286