#include "ruby/ruby.h"
#include "ruby/encoding.h"
#include "regenc.h"
#include <ctype.h>
#include "ruby/util.h"
Include dependency graph for encoding.c:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
#define ctype_test | ( | c, | |||
ctype | ) | (rb_isascii(c) && ONIGENC_IS_ASCII_CODE_CTYPE((c), ctype)) |
Definition at line 1542 of file encoding.c.
Referenced by rb_isalnum(), rb_isalpha(), rb_isblank(), rb_iscntrl(), rb_isdigit(), rb_isgraph(), rb_islower(), rb_isprint(), rb_ispunct(), rb_isspace(), rb_isupper(), and rb_isxdigit().
#define enc_autoload_p | ( | enc | ) | (!rb_enc_mbmaxlen(enc)) |
Definition at line 51 of file encoding.c.
Referenced by check_encoding(), enc_autoload(), load_encoding(), rb_enc_find_index(), and rb_enc_register().
#define ENC_REGISTER | ( | enc | ) | enc_register_at(ENCINDEX_##enc, rb_enc_name(&OnigEncoding##enc), &OnigEncoding##enc) |
Referenced by rb_enc_init().
#define ENCODING_COUNT ENCINDEX_BUILTIN_MAX |
Definition at line 45 of file encoding.c.
#define ENCODING_NAMELEN_MAX 63 |
#define is_data_encoding | ( | obj | ) | (RTYPEDDATA_P(obj) && RTYPEDDATA_TYPE(obj) == &encoding_data_type) |
#define rb_intern | ( | str | ) | rb_intern_const(str) |
#define UNSPECIFIED_ENCODING INT_MAX |
Definition at line 46 of file encoding.c.
Referenced by enc_set_default_encoding(), and rb_enc_find_index().
anonymous enum |
Definition at line 470 of file encoding.c.
static int check_encoding | ( | rb_encoding * | enc | ) | [static] |
Definition at line 100 of file encoding.c.
References rb_encoding_entry::enc, enc_autoload(), enc_autoload_p, rb_enc_from_index(), and rb_enc_to_index.
Referenced by enc_check_encoding().
static int enc_alias | ( | const char * | alias, | |
int | idx | |||
) | [static] |
Definition at line 436 of file encoding.c.
References enc_alias_internal(), rb_enc_from_index(), set_encoding_const(), and valid_encoding_name_p.
Referenced by rb_enc_alias(), and rb_encdb_alias().
static const char* enc_alias_internal | ( | const char * | alias, | |
int | idx | |||
) | [static] |
Definition at line 428 of file encoding.c.
References enc_table, st_insert, and strdup.
Referenced by enc_alias(), enc_set_default_encoding(), enc_set_filesystem_encoding(), and rb_locale_encindex().
Definition at line 412 of file encoding.c.
References enc_table, must_encoding(), Qfalse, Qtrue, and rb_enc_asciicompat.
Referenced by Init_Encoding().
static int enc_autoload | ( | rb_encoding * | ) | [static] |
Definition at line 555 of file encoding.c.
References rb_encoding_entry::base, rb_encoding_entry::enc, enc_autoload_p, enc_register_at(), enc_table, ENC_TO_ENCINDEX, load_encoding(), and rb_enc_name.
Referenced by check_encoding(), and rb_enc_find_index().
static int enc_capable | ( | VALUE | obj | ) | [inline, static] |
Definition at line 610 of file encoding.c.
References BUILTIN_TYPE, FALSE, is_data_encoding, SPECIAL_CONST_P, SYMBOL_P, T_DATA, T_FILE, T_REGEXP, T_STRING, and TRUE.
Referenced by enc_compatible_p().
static void enc_check_duplication | ( | const char * | name | ) | [static] |
Definition at line 275 of file encoding.c.
References rb_eArgError, rb_enc_registered(), and rb_raise().
Referenced by rb_enc_alias(), and rb_enc_replicate().
static int enc_check_encoding | ( | VALUE | obj | ) | [static] |
Definition at line 112 of file encoding.c.
References check_encoding(), encoding_data_type, rb_typeddata_is_kind_of(), RDATA, and SPECIAL_CONST_P.
Referenced by must_encoding(), rb_enc_get_index(), rb_to_encoding(), and rb_to_encoding_index().
Definition at line 1047 of file encoding.c.
References rb_encoding_entry::enc, enc_capable(), Qnil, rb_enc_compatible(), and rb_enc_from_encoding().
Referenced by Init_Encoding().
Definition at line 396 of file encoding.c.
References ENC_DUMMY_P, enc_table, must_encoding(), Qfalse, and Qtrue.
Referenced by enc_inspect(), and Init_Encoding().
Definition at line 1060 of file encoding.c.
References enc_name(), and rb_scan_args().
Referenced by Init_Encoding().
Definition at line 1023 of file encoding.c.
References rb_enc_from_encoding(), and to_encoding().
Referenced by enc_load(), and Init_Encoding().
Definition at line 917 of file encoding.c.
References DATA_PTR, ENC_CODERANGE_7BIT, enc_dummy_p(), ENCODING_CODERANGE_SET, rb_enc_name, rb_obj_classname(), rb_sprintf(), and rb_usascii_encindex().
Referenced by Init_Encoding().
Definition at line 991 of file encoding.c.
References rb_ary_new2(), rb_ary_replace(), and rb_encoding_list.
Referenced by Init_Encoding().
static size_t enc_memsize | ( | const void * | p | ) | [static] |
Definition at line 56 of file encoding.c.
Definition at line 935 of file encoding.c.
References DATA_PTR, rb_enc_name, and rb_usascii_str_new2.
Referenced by enc_dump(), Init_Encoding(), ole_cp2encoding(), and proc_options().
Definition at line 962 of file encoding.c.
References enc_names_i(), enc_table, rb_ary_new2(), rb_to_encoding_index(), and st_foreach.
Referenced by Init_Encoding().
Definition at line 941 of file encoding.c.
References OBJ_FREEZE, rb_ary_push(), rb_usascii_str_new2, and ST_CONTINUE.
Referenced by enc_names().
static VALUE enc_new | ( | rb_encoding * | encoding | ) | [static] |
Definition at line 68 of file encoding.c.
References encoding_data_type, rb_cEncoding, and TypedData_Wrap_Struct.
Referenced by enc_register_at(), and Init_Encoding().
static int enc_register | ( | const char * | name, | |
rb_encoding * | encoding | |||
) | [static] |
Definition at line 228 of file encoding.c.
References enc_register_at(), enc_table, and enc_table_expand().
Referenced by enc_replicate_with_index(), rb_enc_register(), rb_enc_replicate(), rb_encdb_alias(), rb_encdb_declare(), and rb_encdb_replicate().
static int enc_register_at | ( | int | index, | |
const char * | name, | |||
rb_encoding * | encoding | |||
) | [static] |
Definition at line 194 of file encoding.c.
References rb_encoding_entry::enc, enc_new(), enc_table, list, OnigEncodingTypeST::name, rb_encoding_entry::name, NIL_P, rb_ary_entry(), rb_ary_store(), rb_encoding_list, OnigEncodingTypeST::ruby_encoding_index, st_insert, STRCASECMP, strdup, valid_encoding_name_p, and xmalloc.
Referenced by enc_autoload(), enc_register(), enc_replicate_with_index(), and rb_enc_register().
Definition at line 326 of file encoding.c.
References rb_enc_from_encoding_index(), rb_enc_replicate(), rb_to_encoding(), and StringValueCStr.
Referenced by Init_Encoding().
static int enc_replicate_with_index | ( | const char * | name, | |
rb_encoding * | origenc, | |||
int | idx | |||
) | [static] |
Definition at line 334 of file encoding.c.
References enc_register(), enc_register_at(), rb_enc_from_index(), set_base_encoding(), and set_encoding_const().
Referenced by rb_encdb_dummy(), and rb_encdb_replicate().
static int enc_set_default_encoding | ( | struct default_encoding * | def, | |
VALUE | encoding, | |||
const char * | name | |||
) | [static] |
Definition at line 1182 of file encoding.c.
References default_external, default_encoding::enc, enc_alias_internal(), enc_set_filesystem_encoding(), enc_table, FALSE, default_encoding::index, NIL_P, rb_enc_to_index, rb_to_encoding(), st_insert, strdup, TRUE, and UNSPECIFIED_ENCODING.
Referenced by rb_enc_set_default_external(), and rb_enc_set_default_internal().
static int enc_set_filesystem_encoding | ( | void | ) | [static] |
Definition at line 1141 of file encoding.c.
References enc_alias_internal(), rb_ascii8bit_encindex(), rb_default_external_encoding(), rb_enc_find_index(), rb_enc_to_index, and snprintf.
Referenced by enc_set_default_encoding().
static int enc_table_expand | ( | int | newsize | ) | [static] |
Definition at line 178 of file encoding.c.
References count, enc_table, and realloc.
Referenced by enc_register(), and rb_enc_init().
Definition at line 1237 of file encoding.c.
References rb_enc_default_external().
Referenced by Init_Encoding().
Definition at line 1293 of file encoding.c.
References rb_enc_default_internal().
Referenced by Init_Encoding().
void Init_Encoding | ( | void | ) |
Definition at line 1498 of file encoding.c.
References CLASS_OF, enc_ascii_compatible_p(), enc_compatible_p(), enc_dummy_p(), enc_dump(), enc_find(), enc_inspect(), enc_list(), enc_load(), enc_name(), enc_names(), enc_new(), enc_replicate(), enc_table, get_default_external(), get_default_internal(), list, rb_ary_new2(), rb_ary_push(), rb_cEncoding, rb_cObject, rb_define_class(), rb_define_method(), rb_define_singleton_method(), rb_enc_aliases(), rb_enc_name_list(), rb_encoding_list, rb_gc_register_mark_object(), rb_locale_charmap(), rb_undef_alloc_func(), rb_undef_method(), RBASIC, set_default_external(), and set_default_internal().
static int load_encoding | ( | const char * | name | ) | [static] |
Definition at line 527 of file encoding.c.
References debug, enc_autoload_p, enc_table, ISALNUM, ISUPPER, NIL_P, OBJ_FREEZE, Qfalse, Qnil, rb_enc_registered(), rb_protect(), rb_set_errinfo(), rb_sprintf(), require_enc(), RSTRING_END, RSTRING_PTR, ruby_debug, ruby_verbose, and TOLOWER.
Referenced by enc_autoload(), and rb_enc_find_index().
static int must_encoding | ( | VALUE | enc | ) | [static] |
Definition at line 121 of file encoding.c.
References enc_check_encoding(), rb_eTypeError, rb_obj_classname(), and rb_raise().
Referenced by enc_ascii_compatible_p(), and enc_dummy_p().
int rb_ascii8bit_encindex | ( | void | ) |
Definition at line 1083 of file encoding.c.
References ENCINDEX_ASCII.
Referenced by enc_set_filesystem_encoding(), parser_regx_options(), rb_char_to_option_kcode(), rb_filesystem_encindex(), and rb_locale_encindex().
rb_encoding* rb_ascii8bit_encoding | ( | void | ) |
Definition at line 1074 of file encoding.c.
References enc_table, ENCINDEX_ASCII, and rb_enc_init().
Referenced by do_writeconv(), file_path_convert(), int_chr(), load_file_internal(), make_writeconv(), parser_str_new(), rb_define_dummy_encoding(), rb_encdb_dummy(), rb_external_str_new_with_enc(), rb_file_open_internal(), rb_glob(), rb_gzreader_ungetc(), rb_gzwriter_write(), rb_intern3(), rb_io_ascii8bit_binmode(), rb_io_ext_int_to_encs(), rb_io_extract_modeenc(), rb_reg_initialize(), rb_reg_initialize_m(), rb_reg_initialize_str(), rb_reg_new(), rb_reg_prepare_enc(), rb_reg_preprocess_dregexp(), rb_reg_s_union(), rb_str_dump(), rb_str_encode_ospath(), rb_symname_p(), rb_w32_conv_from_wchar(), rb_w32_readdir_with_enc(), reg_fragment_setenc_gen(), RUBY_ALIAS_FUNCTION(), ruby_brace_glob(), ruby_glob(), strio_read(), strio_ungetc(), and strio_write().
rb_encoding* rb_default_external_encoding | ( | void | ) |
Definition at line 1209 of file encoding.c.
References default_external, default_encoding::enc, default_encoding::index, rb_enc_from_index(), and rb_locale_encoding().
Referenced by argf_external_encoding(), argf_internal_encoding(), enc_set_filesystem_encoding(), gzfile_new(), io_read_encoding(), rb_enc_default_external(), rb_enc_reg_error_desc(), rb_external_str_new(), rb_external_str_new_cstr(), rb_io_ext_int_to_encs(), rb_reg_desc(), rb_str_export(), rb_str_inspect(), strio_init(), sym_inspect(), and validate_enc_binmode().
rb_encoding* rb_default_internal_encoding | ( | void | ) |
Definition at line 1269 of file encoding.c.
References default_internal, default_encoding::enc, default_encoding::index, and rb_enc_from_index().
Referenced by file_path_convert(), int_chr(), parse(), rb_enc_default_internal(), rb_enc_reg_error_desc(), rb_external_str_new_with_enc(), rb_io_ext_int_to_encs(), rb_reg_desc(), rb_str_inspect(), and sym_inspect().
int rb_define_dummy_encoding | ( | const char * | name | ) |
Definition at line 362 of file encoding.c.
References rb_encoding_entry::enc, ENC_SET_DUMMY, enc_table, rb_ascii8bit_encoding(), and rb_enc_replicate().
Referenced by create_dummy_encoding_for_tk_core(), make_dummy_encoding(), ole_cp2encoding(), rb_nkf_enc_get(), and str_transcode0().
int rb_enc_alias | ( | const char * | alias, | |
const char * | orig | |||
) |
Definition at line 445 of file encoding.c.
References enc_alias(), enc_check_duplication(), enc_table, rb_enc_find_index(), and rb_enc_init().
Definition at line 1488 of file encoding.c.
References enc_table, rb_ary_new(), rb_enc_aliases_enc_i(), rb_hash_new(), and st_foreach.
Referenced by Init_Encoding().
Definition at line 1451 of file encoding.c.
References default_encoding::enc, NIL_P, OBJ_FREEZE, rb_ary_entry(), rb_ary_store(), rb_enc_from_index(), rb_enc_name, rb_hash_aset(), rb_usascii_str_new2, ST_CONTINUE, and STRCASECMP.
Referenced by rb_enc_aliases().
int rb_enc_ascget | ( | const char * | p, | |
const char * | e, | |||
int * | len, | |||
rb_encoding * | enc | |||
) |
Definition at line 841 of file encoding.c.
References rb_encoding_entry::enc, ISASCII, MBCLEN_CHARFOUND_P, rb_enc_asciicompat, rb_enc_isascii, rb_enc_mbc_to_codepoint, and rb_enc_precise_mbclen().
Referenced by check_pipe_command(), chopped_length(), rb_reg_expr_str(), rb_reg_quote(), rb_str_casecmp(), rb_str_chomp_bang(), rb_str_split_m(), str_end_with_asciichar(), swallow(), tr_setup_table(), and tr_trans().
VALUE rb_enc_associate | ( | VALUE | obj, | |
rb_encoding * | enc | |||
) |
Definition at line 702 of file encoding.c.
References rb_encoding_entry::enc, rb_enc_associate_index(), and rb_enc_to_index.
Referenced by econv_primitive_convert(), econv_putback(), file_expand_path(), gzfile_getc(), gzfile_newstr(), io_enc_str(), io_shift_cbuf(), load_file_internal(), locale_path(), parser_str_new(), process_options(), rb_dir_getwd(), rb_econv_substr_append(), rb_enc_reg_error_desc(), rb_enc_str_new(), rb_enc_vsprintf(), rb_external_str_new_with_enc(), rb_intern3(), rb_nkf_convert(), rb_reg_desc(), rb_reg_initialize(), rb_reg_preprocess(), rb_reg_preprocess_dregexp(), rb_reg_quote(), rb_reg_s_union(), rb_str_append(), rb_str_dump(), rb_str_encode_ospath(), rb_str_force_encoding(), rb_str_format(), rb_str_inspect(), rb_str_justify(), rb_str_shared_replace(), rb_str_splice(), rb_str_sub_bang(), rb_str_subpat_set(), reg_fragment_setenc_gen(), RUBY_ALIAS_FUNCTION(), strio_read(), strio_set_encoding(), syck_genericresolver_node_import(), syserr_initialize(), tr_trans(), and yaml_org_handler().
Definition at line 685 of file encoding.c.
References ENC_CODERANGE_ASCIIONLY, ENC_CODERANGE_CLEAR, rb_eArgError, rb_enc_asciicompat, rb_enc_from_index(), rb_enc_get_index(), rb_enc_set_index(), rb_raise(), and SPECIAL_CONST_P.
Referenced by file_expand_path(), iconv_convert(), lib_fromUTF8_core(), lib_split_tklist_core(), lib_toUTF8_core(), lib_UTF_backslash_core(), make_econv_exception(), r_ivar(), r_symreal(), rb_enc_associate(), rb_enc_copy(), rb_home_dir(), and str_encode_associate().
rb_encoding* rb_enc_check | ( | VALUE | str1, | |
VALUE | str2 | |||
) |
Definition at line 714 of file encoding.c.
References rb_encoding_entry::enc, rb_eEncCompatError, rb_enc_compatible(), rb_enc_get(), rb_enc_name, and rb_raise().
Referenced by file_expand_path(), rb_file_s_basename(), rb_get_path_check(), rb_str_append(), rb_str_chomp_bang(), rb_str_count(), rb_str_delete_bang(), rb_str_each_line(), rb_str_end_with(), rb_str_format(), rb_str_index(), rb_str_index_m(), rb_str_justify(), rb_str_plus(), rb_str_rindex(), rb_str_splice(), rb_str_split_m(), rb_str_squeeze_bang(), rb_str_start_with(), rb_str_subpat_set(), rb_str_upto(), and tr_trans().
int rb_enc_codelen | ( | int | c, | |
rb_encoding * | enc | |||
) |
Definition at line 886 of file encoding.c.
References rb_encoding_entry::enc, ONIGENC_CODE_TO_MBCLEN, rb_eArgError, rb_enc_name, and rb_raise().
Referenced by parser_tokaddmbc(), rb_enc_uint_chr(), rb_str_buf_cat_ascii(), rb_str_concat(), rb_str_format(), strio_ungetc(), and tr_trans().
unsigned int rb_enc_codepoint | ( | const char * | p, | |
const char * | e, | |||
rb_encoding * | enc | |||
) |
Definition at line 880 of file encoding.c.
References rb_encoding_entry::enc, and rb_enc_codepoint_len().
unsigned int rb_enc_codepoint_len | ( | const char * | p, | |
const char * | e, | |||
int * | len_p, | |||
rb_encoding * | enc | |||
) |
Definition at line 864 of file encoding.c.
References rb_encoding_entry::enc, MBCLEN_CHARFOUND_LEN, MBCLEN_CHARFOUND_P, rb_eArgError, rb_enc_mbc_to_codepoint, rb_enc_name, rb_enc_precise_mbclen(), and rb_raise().
Referenced by rb_enc_codepoint(), rb_str_capitalize_bang(), rb_str_count(), rb_str_delete_bang(), rb_str_downcase_bang(), rb_str_each_codepoint(), rb_str_each_line(), rb_str_format(), rb_str_lstrip_bang(), rb_str_split_m(), rb_str_squeeze_bang(), rb_str_swapcase_bang(), rb_str_upcase_bang(), strio_each_codepoint(), sym_printable(), tr_trans(), and trnext().
rb_encoding* rb_enc_compatible | ( | VALUE | str1, | |
VALUE | str2 | |||
) |
Definition at line 725 of file encoding.c.
References BUILTIN_TYPE, ENC_CODERANGE_7BIT, ENCINDEX_ASCII, ENCINDEX_US_ASCII, rb_enc_asciicompat, rb_enc_from_index(), rb_enc_get_index(), rb_enc_str_coderange(), RSTRING_LEN, T_STRING, and TYPE.
Referenced by enc_compatible_p(), literal_concat0(), rb_enc_check(), rb_str_casecmp(), rb_str_sub_bang(), and vm_backtrace_push().
Definition at line 787 of file encoding.c.
References rb_enc_associate_index(), and rb_enc_get_index().
Referenced by file_expand_path(), rb_attr(), rb_file_dirname(), rb_file_s_basename(), rb_file_s_extname(), rb_reg_desc(), rb_reg_quote(), rb_reg_s_union(), rb_reg_to_s(), rb_str_format(), str_new(), and time_strftime().
VALUE rb_enc_default_external | ( | void | ) |
Definition at line 1223 of file encoding.c.
References rb_default_external_encoding(), and rb_enc_from_encoding().
Referenced by get_default_external().
VALUE rb_enc_default_internal | ( | void | ) |
Definition at line 1278 of file encoding.c.
References rb_default_internal_encoding(), and rb_enc_from_encoding().
Referenced by get_default_internal(), and str_transcode0().
int rb_enc_fast_mbclen | ( | const char * | p, | |
const char * | e, | |||
rb_encoding * | enc | |||
) |
Definition at line 811 of file encoding.c.
References rb_encoding_entry::enc, ONIGENC_MBC_ENC_LEN, and UChar.
Referenced by enc_strlen(), rb_str_each_char(), rb_str_reverse(), rb_str_split_m(), scan_once(), and str_gsub().
rb_encoding* rb_enc_find | ( | const char * | name | ) |
Definition at line 602 of file encoding.c.
References rb_enc_find_index(), and rb_enc_from_index().
Referenced by econv_get_replacement(), econv_insert_output(), Init_gb2312(), make_encoding(), make_replacement(), rb_w32_conv_from_wchar(), and transcode_loop().
int rb_enc_find_index | ( | const char * | name | ) |
Definition at line 578 of file encoding.c.
References rb_encoding_entry::enc, enc_autoload(), enc_autoload_p, load_encoding(), rb_eArgError, rb_enc_from_index(), rb_enc_registered(), rb_raise(), rb_warn(), and UNSPECIFIED_ENCODING.
Referenced by create_dummy_encoding_for_tk_core(), enc_set_filesystem_encoding(), iconv_create(), id2encidx(), Init_tcltklib(), io_strip_bom(), lib_fromUTF8_core(), make_econv_exception(), ole_cp2encoding(), opt_enc_index(), parse(), parse_mode_enc(), parser_set_encode(), process_options(), rb_char_to_option_kcode(), rb_econv_open0(), rb_enc_alias(), rb_enc_find(), rb_locale_encindex(), rb_nkf_enc_get(), rb_to_encoding_index(), and to_encoding().
VALUE rb_enc_from_encoding | ( | rb_encoding * | encoding | ) |
Definition at line 89 of file encoding.c.
References ENC_TO_ENCINDEX, Qnil, and rb_enc_from_encoding_index().
Referenced by argf_external_encoding(), argf_internal_encoding(), create_dummy_encoding_for_tk_core(), do_writeconv(), econv_destination_encoding(), econv_insert_output(), econv_s_asciicompat_encoding(), econv_source_encoding(), enc_compatible_p(), enc_find(), gettable_gen(), Init_nkf(), io_set_encoding_by_bom(), load_file_internal(), make_econv_exception(), make_encobj(), process_options(), rb_enc_default_external(), rb_enc_default_internal(), rb_get_path_check(), rb_io_external_encoding(), rb_io_getline_1(), rb_io_internal_encoding(), rb_nkf_guess(), rb_obj_encoding(), rb_parser_encoding(), rb_str_encode_ospath(), rb_w32_conv_from_wchar(), set_encoding_const(), and strio_external_encoding().
static VALUE rb_enc_from_encoding_index | ( | int | idx | ) | [static] |
Definition at line 74 of file encoding.c.
References rb_encoding_entry::enc, list, NIL_P, rb_ary_entry(), rb_bug(), and rb_encoding_list.
Referenced by enc_replicate(), and rb_enc_from_encoding().
rb_encoding* rb_enc_from_index | ( | int | index | ) |
Definition at line 496 of file encoding.c.
References enc_table, and rb_enc_init().
Referenced by check_encoding(), create_dummy_encoding_for_tk_core(), econv_args(), enc_alias(), enc_arg(), enc_replicate_with_index(), file_path_convert(), io_set_encoding_by_bom(), load_file_internal(), make_dummy_encoding(), make_econv_exception(), ole_cp2encoding(), opt_enc_index(), parse_mode_enc(), parser_set_encode(), process_options(), rb_default_external_encoding(), rb_default_internal_encoding(), rb_econv_open0(), rb_enc_aliases_enc_i(), rb_enc_associate_index(), rb_enc_compatible(), rb_enc_cr_str_buf_cat(), rb_enc_find(), rb_enc_find_index(), rb_enc_get(), rb_enc_register(), rb_enc_replicate(), rb_enc_set_base(), rb_encdb_declare(), rb_encdb_replicate(), rb_filesystem_encoding(), rb_io_extract_encoding_option(), rb_locale_encoding(), rb_nkf_enc_get(), rb_str_buf_cat_ascii(), rb_str_comparable(), str_encode_associate(), str_end_with_asciichar(), str_transcode_enc_args(), to_encoding(), and w_encoding().
rb_encoding* rb_enc_get | ( | VALUE | obj | ) |
Definition at line 708 of file encoding.c.
References rb_enc_from_index(), and rb_enc_get_index().
Referenced by check_pipe_command(), do_writeconv(), econv_set_replacement(), file_s_fnmatch(), iconv_iconv(), io_encoding_set(), literal_concat0(), must_be_ascii_compatible(), must_not_be_anonymous(), ole_vstr2wc(), parser_prepare(), parser_yyerror(), prepare_getline_args(), push_glob(), rb_econv_open_opts(), rb_econv_prepare_opts(), rb_enc_check(), rb_file_s_basename(), rb_gzreader_ungetc(), rb_gzwriter_write(), rb_intern3(), rb_intern_str(), rb_obj_encoding(), rb_path_to_class(), rb_push_glob(), rb_realpath_internal(), rb_reg_check_preprocess(), rb_reg_desc(), rb_reg_error_desc(), rb_reg_init_copy(), rb_reg_initialize_m(), rb_reg_initialize_str(), rb_reg_prepare_enc(), rb_reg_preprocess_dregexp(), rb_reg_quote(), rb_reg_regsub(), rb_reg_s_union(), rb_reg_source(), rb_reg_to_s(), rb_str_chomp_bang(), rb_str_dump(), rb_str_each_char(), rb_str_each_line(), rb_str_encode_ospath(), rb_str_format(), rb_str_hex(), rb_str_oct(), rb_to_encoding_index(), reg_enc_error(), reg_fragment_setenc_gen(), reg_named_capture_assign_gen(), strio_each_codepoint(), strio_external_encoding(), strio_getc(), strio_getline(), strio_substr(), strio_ungetc(), strio_write(), strscan_getch(), to_encoding(), transcode_loop(), and update_char_offset().
int rb_enc_get_index | ( | VALUE | obj | ) |
Definition at line 633 of file encoding.c.
References BUILTIN_TYPE, enc_check_encoding(), ENCODING_GET_INLINED, ENCODING_INLINE_MAX, is_data_encoding, NIL_P, NUM2INT, rb_funcall(), rb_id2str(), rb_id_encoding(), rb_intern, rb_ivar_get(), SPECIAL_CONST_P, SYM2ID, SYMBOL_P, T_DATA, T_FILE, T_REGEXP, and T_STRING.
Referenced by lib_fromUTF8_core(), lib_split_tklist_core(), rb_enc_associate_index(), rb_enc_compatible(), rb_enc_copy(), rb_enc_get(), str_transcode_enc_args(), w_encoding(), and w_symbol().
void rb_enc_init | ( | void | ) |
Definition at line 481 of file encoding.c.
References ASCII, ENC_REGISTER, enc_table, enc_table_expand(), ENCINDEX_BUILTIN_MAX, ENCODING_COUNT, st_init_strcasetable(), and UTF_8.
Referenced by rb_ascii8bit_encoding(), rb_enc_alias(), rb_enc_from_index(), rb_usascii_encoding(), and rb_utf8_encoding().
int rb_enc_mbclen | ( | const char * | p, | |
const char * | e, | |||
rb_encoding * | enc | |||
) |
Definition at line 817 of file encoding.c.
References rb_encoding_entry::enc, MBCLEN_CHARFOUND_LEN, MBCLEN_CHARFOUND_P, ONIGENC_PRECISE_MBC_ENC_LEN, rb_enc_mbminlen, and UChar.
Referenced by bracket(), enc_strlen(), gzfile_getc(), io_getc(), is_special_global_name(), rb_enc_nth(), rb_enc_symname2_p(), rb_intern3(), rb_str_casecmp(), rb_str_each_char(), rb_str_each_line(), rb_str_format(), rb_str_reverse(), strio_getc(), strio_ungetc(), and strscan_getch().
Definition at line 1443 of file encoding.c.
References enc_table, rb_ary_new2(), rb_enc_name_list_i(), and st_foreach.
Referenced by Init_Encoding().
Definition at line 1419 of file encoding.c.
References OBJ_FREEZE, rb_ary_push(), rb_usascii_str_new2, and ST_CONTINUE.
Referenced by rb_enc_name_list().
int rb_enc_precise_mbclen | ( | const char * | p, | |
const char * | e, | |||
rb_encoding * | enc | |||
) |
Definition at line 829 of file encoding.c.
References rb_encoding_entry::enc, ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE, ONIGENC_PRECISE_MBC_ENC_LEN, and UChar.
Referenced by coderange_scan(), enc_pred_char(), enc_succ_char(), fnmatch_helper(), io_getc(), make_econv_exception(), rb_enc_ascget(), rb_enc_codepoint_len(), rb_enc_strlen_cr(), rb_io_each_codepoint(), rb_io_getline_1(), rb_reg_expr_str(), rb_str_coderange_scan_restartable(), rb_str_dump(), rb_str_inspect(), rb_str_succ(), unescape_escaped_nonascii(), and unescape_nonascii().
int rb_enc_register | ( | const char * | name, | |
rb_encoding * | encoding | |||
) |
Definition at line 241 of file encoding.c.
References enc_autoload_p, ENC_DUMMY_P, enc_register(), enc_register_at(), rb_eArgError, rb_enc_from_index(), rb_enc_name, rb_enc_registered(), rb_raise(), set_encoding_const(), and STRCASECMP.
Referenced by Init_gb2312().
int rb_enc_registered | ( | const char * | name | ) |
Definition at line 508 of file encoding.c.
References enc_table, and st_lookup.
Referenced by enc_check_duplication(), load_encoding(), rb_enc_find_index(), rb_enc_register(), rb_enc_set_base(), rb_encdb_alias(), rb_encdb_declare(), rb_encdb_dummy(), rb_encdb_replicate(), rb_filesystem_encindex(), and rb_locale_encindex().
int rb_enc_replicate | ( | const char * | name, | |
rb_encoding * | encoding | |||
) |
Definition at line 305 of file encoding.c.
References enc_check_duplication(), enc_register(), rb_enc_from_index(), set_base_encoding(), and set_encoding_const().
Referenced by enc_replicate(), and rb_define_dummy_encoding().
void rb_enc_set_base | ( | const char * | name, | |
const char * | orig | |||
) |
Definition at line 297 of file encoding.c.
References rb_enc_from_index(), rb_enc_registered(), and set_base_encoding().
void rb_enc_set_default_external | ( | VALUE | encoding | ) |
Definition at line 1243 of file encoding.c.
References default_external, enc_set_default_encoding(), NIL_P, rb_eArgError, and rb_raise().
Referenced by process_options(), and set_default_external().
void rb_enc_set_default_internal | ( | VALUE | encoding | ) |
Definition at line 1299 of file encoding.c.
References default_internal, and enc_set_default_encoding().
Referenced by process_options(), and set_default_internal().
void rb_enc_set_index | ( | VALUE | obj, | |
int | idx | |||
) |
Definition at line 673 of file encoding.c.
References ENCODING_INLINE_MAX, ENCODING_SET_INLINED, INT2NUM(), rb_id_encoding(), and rb_ivar_set().
Referenced by pack_pack(), rb_enc_associate_index(), and str_enc_copy().
int rb_enc_tolower | ( | int | c, | |
rb_encoding * | enc | |||
) |
Definition at line 902 of file encoding.c.
References ONIGENC_ASCII_CODE_TO_LOWER_CASE, and ONIGENC_IS_ASCII_CODE.
Referenced by rb_str_capitalize_bang(), rb_str_downcase_bang(), and rb_str_swapcase_bang().
int rb_enc_toupper | ( | int | c, | |
rb_encoding * | enc | |||
) |
Definition at line 896 of file encoding.c.
References ONIGENC_ASCII_CODE_TO_UPPER_CASE, and ONIGENC_IS_ASCII_CODE.
Referenced by bracket(), fnmatch_helper(), rb_str_capitalize_bang(), rb_str_format(), rb_str_swapcase_bang(), and rb_str_upcase_bang().
int rb_enc_unicode_p | ( | rb_encoding * | enc | ) |
Definition at line 421 of file encoding.c.
References rb_encoding_entry::enc, name, and rb_enc_name.
Referenced by rb_reg_expr_str(), and rb_str_inspect().
int rb_encdb_alias | ( | const char * | alias, | |
const char * | orig | |||
) |
Definition at line 460 of file encoding.c.
References enc_alias(), enc_register(), and rb_enc_registered().
void rb_encdb_declare | ( | const char * | name | ) |
Definition at line 265 of file encoding.c.
References enc_register(), rb_enc_from_index(), rb_enc_registered(), and set_encoding_const().
int rb_encdb_dummy | ( | const char * | name | ) |
Definition at line 372 of file encoding.c.
References rb_encoding_entry::enc, enc_replicate_with_index(), ENC_SET_DUMMY, enc_table, rb_ascii8bit_encoding(), and rb_enc_registered().
int rb_encdb_replicate | ( | const char * | name, | |
const char * | orig | |||
) |
Definition at line 350 of file encoding.c.
References enc_register(), enc_replicate_with_index(), rb_enc_from_index(), and rb_enc_registered().
int rb_filesystem_encindex | ( | void | ) |
Definition at line 1160 of file encoding.c.
References rb_ascii8bit_encindex(), and rb_enc_registered().
Referenced by file_expand_path(), rb_filesystem_encoding(), and rb_home_dir().
rb_encoding* rb_filesystem_encoding | ( | void | ) |
Definition at line 1169 of file encoding.c.
References rb_enc_from_index(), and rb_filesystem_encindex().
Referenced by dir_initialize(), etc_systmpdir(), file_path_convert(), gettable_gen(), push_glob(), rb_dir_getwd(), rb_filesystem_str_new(), rb_filesystem_str_new_cstr(), rb_str_encode_ospath(), and rb_w32_special_folder().
void rb_gc_mark_encodings | ( | void | ) |
ID rb_id_encoding | ( | void | ) |
Definition at line 626 of file encoding.c.
References CONST_ID, and id_encoding.
Referenced by id2encidx(), rb_enc_get_index(), rb_enc_set_index(), w_encoding(), and w_obj_each().
int rb_isalnum | ( | int | c | ) |
int rb_isalpha | ( | int | c | ) |
int rb_isblank | ( | int | c | ) |
int rb_iscntrl | ( | int | c | ) |
int rb_isdigit | ( | int | c | ) |
Definition at line 1549 of file encoding.c.
References ctype_test, and ONIGENC_CTYPE_DIGIT.
Referenced by f_format(), and string_to_r_internal().
int rb_isgraph | ( | int | c | ) |
int rb_islower | ( | int | c | ) |
int rb_isprint | ( | int | c | ) |
Definition at line 1552 of file encoding.c.
References ctype_test, and ONIGENC_CTYPE_PRINT.
Referenced by curses_getch(), and window_getch().
int rb_ispunct | ( | int | c | ) |
Definition at line 1553 of file encoding.c.
References ctype_test, and ONIGENC_CTYPE_PUNCT.
Referenced by rb_id2str().
int rb_isspace | ( | int | c | ) |
Definition at line 1554 of file encoding.c.
References ctype_test, and ONIGENC_CTYPE_SPACE.
Referenced by rb_str_lstrip_bang(), rb_str_rstrip_bang(), and rb_str_split_m().
int rb_isupper | ( | int | c | ) |
int rb_isxdigit | ( | int | c | ) |
Definition at line 1345 of file encoding.c.
References nl_langinfo_codeset(), Qnil, rb_usascii_str_new2, and snprintf.
Referenced by Init_Encoding(), and rb_locale_encindex().
int rb_locale_encindex | ( | void | ) |
Definition at line 1119 of file encoding.c.
References enc_alias_internal(), NIL_P, rb_ascii8bit_encindex(), rb_cEncoding, rb_enc_find_index(), rb_enc_registered(), rb_locale_charmap(), rb_usascii_encindex(), and StringValueCStr.
Referenced by rb_locale_encoding().
rb_encoding* rb_locale_encoding | ( | void | ) |
Definition at line 1135 of file encoding.c.
References rb_enc_from_index(), and rb_locale_encindex().
Referenced by load_file_internal(), locale_path(), process_options(), rb_default_external_encoding(), rb_loaderror(), rb_locale_str_new(), rb_locale_str_new_cstr(), rb_str_export_locale(), and syserr_initialize().
Definition at line 801 of file encoding.c.
References rb_encoding_entry::enc, rb_enc_from_encoding(), rb_enc_get(), rb_eTypeError, and rb_raise().
Referenced by Init_Regexp(), Init_String(), lib_toUTF8_core(), str_transcode0(), and sym_encoding().
rb_encoding* rb_to_encoding | ( | VALUE | enc | ) |
Definition at line 166 of file encoding.c.
References enc_check_encoding(), RDATA, and to_encoding().
Referenced by decorate_convpath(), dir_initialize(), enc_replicate(), enc_set_default_encoding(), int_chr(), io_encoding_set(), rb_io_extract_encoding_option(), rb_str_force_encoding(), and strio_set_encoding().
int rb_to_encoding_index | ( | VALUE | enc | ) |
Definition at line 132 of file encoding.c.
References enc_check_encoding(), NIL_P, rb_check_string_type(), rb_enc_asciicompat, rb_enc_find_index(), rb_enc_get(), and StringValueCStr.
Referenced by econv_args(), enc_arg(), enc_names(), lib_fromUTF8_core(), and rb_io_extract_encoding_option().
int rb_tolower | ( | int | c | ) |
Definition at line 1559 of file encoding.c.
References ONIGENC_ASCII_CODE_TO_LOWER_CASE, and rb_isascii.
int rb_toupper | ( | int | c | ) |
Definition at line 1565 of file encoding.c.
References ONIGENC_ASCII_CODE_TO_UPPER_CASE, and rb_isascii.
int rb_usascii_encindex | ( | void | ) |
Definition at line 1113 of file encoding.c.
References ENCINDEX_US_ASCII.
Referenced by enc_inspect(), id2encidx(), pack_pack(), pack_unpack(), r_symreal(), rb_locale_encindex(), rb_usascii_str_new(), RUBY_ALIAS_FUNCTION(), w_encoding(), and w_symbol().
rb_encoding* rb_usascii_encoding | ( | void | ) |
Definition at line 1104 of file encoding.c.
References enc_table, ENCINDEX_US_ASCII, and rb_enc_init().
Referenced by file_path_convert(), Init_id(), load_file_internal(), parser_initialize(), parser_str_new(), push_glob(), rb_external_str_new_with_enc(), rb_get_path_check(), rb_intern2(), rb_intern3(), rb_intern_str(), rb_nkf_convert(), rb_reg_desc(), rb_reg_initialize(), rb_reg_quote(), rb_str_inspect(), rb_str_upto(), reg_fragment_setenc_gen(), and setup_exception().
int rb_utf8_encindex | ( | void | ) |
Definition at line 1098 of file encoding.c.
References ENCINDEX_UTF_8.
Referenced by id2encidx(), io_strip_bom(), pack_pack(), rb_char_to_option_kcode(), and w_encoding().
rb_encoding* rb_utf8_encoding | ( | void | ) |
Definition at line 1089 of file encoding.c.
References enc_table, ENCINDEX_UTF_8, and rb_enc_init().
Referenced by append_utf8(), Init_nkf(), Init_tcltklib(), make_econv_exception(), parser_prepare(), parser_str_new(), rb_memsearch(), rb_str_dump(), rb_str_encode_ospath(), rb_str_substr(), str_strlen(), syck_genericresolver_node_import(), and yaml_org_handler().
Definition at line 521 of file encoding.c.
References rb_require_safe(), and rb_safe_level.
Referenced by load_encoding().
static rb_encoding* set_base_encoding | ( | int | index, | |
rb_encoding * | base | |||
) | [static] |
Definition at line 283 of file encoding.c.
References rb_encoding_entry::base, rb_encoding_entry::enc, ENC_SET_DUMMY, enc_table, and rb_enc_dummy_p().
Referenced by enc_replicate_with_index(), rb_enc_replicate(), and rb_enc_set_base().
Definition at line 1259 of file encoding.c.
References rb_enc_set_default_external(), and rb_warning().
Referenced by Init_Encoding().
Definition at line 1313 of file encoding.c.
References rb_enc_set_default_internal(), and rb_warning().
Referenced by Init_Encoding().
static void set_encoding_const | ( | const char * | , | |
rb_encoding * | ||||
) | [static] |
Definition at line 1368 of file encoding.c.
References ALLOCA_N, default_encoding::enc, ENCODING_NAMELEN_MAX, ISALNUM, ISDIGIT, ISLOWER, ISUPPER, len, MEMCPY, ONIGENC_ASCII_CODE_TO_UPPER_CASE, rb_cEncoding, rb_define_const(), and rb_enc_from_encoding().
Referenced by enc_alias(), enc_replicate_with_index(), rb_enc_register(), rb_enc_replicate(), and rb_encdb_declare().
static rb_encoding* to_encoding | ( | VALUE | enc | ) | [static] |
Definition at line 150 of file encoding.c.
References rb_eArgError, rb_enc_asciicompat, rb_enc_find_index(), rb_enc_from_index(), rb_enc_get(), rb_raise(), RSTRING_PTR, StringValue, and StringValueCStr.
Referenced by enc_find(), and rb_to_encoding().
int count |
Definition at line 38 of file encoding.c.
Referenced by enc_table_expand(), EVENTSINK_Invoke(), find_coclass(), find_iid(), gc_count(), nkf_split_options(), ole_const_load(), ole_types_from_typelib(), oleclass_from_typelib(), ossl_x509_get_extensions(), ossl_x509crl_get_extensions(), ossl_x509req_get_attributes(), ossl_x509revoked_get_extensions(), rb_ivar_count(), string_to_r_internal(), syck_move_tokens(), sycklex_bytecode_utf8(), typeinfo_from_ole(), update_coverage(), and waitpid().
struct default_encoding default_external = {0} [static] |
Definition at line 1179 of file encoding.c.
Referenced by enc_set_default_encoding(), rb_default_external_encoding(), and rb_enc_set_default_external().
struct default_encoding default_internal = {-2} [static] |
Definition at line 1266 of file encoding.c.
Referenced by rb_default_internal_encoding(), and rb_enc_set_default_internal().
struct { ... } enc_table [static] |
Referenced by enc_alias_internal(), enc_ascii_compatible_p(), enc_autoload(), enc_dummy_p(), enc_names(), enc_register(), enc_register_at(), enc_set_default_encoding(), enc_table_expand(), Init_Encoding(), load_encoding(), rb_ascii8bit_encoding(), rb_define_dummy_encoding(), rb_enc_alias(), rb_enc_aliases(), rb_enc_from_index(), rb_enc_init(), rb_enc_name_list(), rb_enc_registered(), rb_encdb_dummy(), rb_usascii_encoding(), rb_utf8_encoding(), and set_base_encoding().
const rb_data_type_t encoding_data_type [static] |
Initial value:
{ "encoding", 0, 0, enc_memsize, }
Definition at line 61 of file encoding.c.
Referenced by enc_check_encoding(), and enc_new().
ID id_encoding [static] |
struct rb_encoding_entry* list |
Definition at line 37 of file encoding.c.
Referenced by add_modules(), cbsubst_get_subst_key(), class_instance_method_list(), compile_dstr_fragments(), enc_register_at(), fc_i(), garbage_collect(), get_destination_insn(), get_next_insn(), get_prev_insn(), glob_free_pattern(), glob_make_pattern(), Init_Encoding(), iseq_insns_unification(), iseq_optimize(), iseq_peephole_optimize(), iseq_set_sequence(), iseq_set_sequence_stackcaching(), libyaml_version(), list_append_gen(), method_entry(), onig_node_list_add(), pipe_add_fptr(), pipe_atexit(), pipe_del_fptr(), rb_enc_from_encoding_index(), rb_obj_singleton_methods(), rb_objspace_call_finalizer(), rb_objspace_free(), rb_set_end_proc(), recursive_list_access(), require_libraries(), resize_property_list(), ruby_glob0(), select_internal(), verify_list(), and yyparse().
Definition at line 40 of file encoding.c.
Referenced by make_hostent_internal(), match_inspect(), and sock_s_gethostbyaddr().
Definition at line 27 of file encoding.c.
Referenced by enc_new(), Init_Encoding(), Init_Exception(), Init_transcode(), rb_locale_encindex(), and set_encoding_const().
VALUE rb_encoding_list [static] |
Definition at line 28 of file encoding.c.
Referenced by enc_list(), enc_register_at(), Init_Encoding(), and rb_enc_from_encoding_index().
int size |
Definition at line 39 of file encoding.c.
Referenced by add_code_range_to_buf0(), allocate_heaps(), ary2list(), ary2list2(), bdigbitsize(), BSD_vfprintf(), buf_bytesize(), closure_memsize(), cont_memsize(), cont_save_machine_stack(), dlcfunc_memsize(), each_cons_i(), each_slice_i(), enum_each_cons(), enum_each_slice(), env_memsize(), fiber_memsize(), find_prev_line_no(), function_memsize(), get_insn_info(), iseq_memsize(), memsize_of(), ole_mb2wc(), ole_vstr2wc(), ole_wc2mb(), onig_memsize(), ossl_dh_s_generate(), ossl_rsa_s_generate(), overlapped_socket_io(), parser_memsize(), rb_ary_initialize(), rb_dlptr_initialize(), rb_dlptr_minus(), rb_dlptr_plus(), rb_dlptr_s_malloc(), rb_dlptr_size_get(), rb_econv_memsize(), rb_io_memsize(), rb_iseq_disasm(), rb_stat_s(), rb_str_justify(), rb_strftime_alloc(), rb_struct_new(), rb_transcoding_memsize(), recvmsg(), reg_get_val(), resize_property_list(), sendmsg(), tcltklib_compile_info(), thread_memsize(), tk_conv_args(), unset_addr_list_add(), vm_xfree(), and wstati64().