Ruby 2.0.0p353(2013-11-22revision43784)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Enumerations | Functions | Variables
encoding.c File Reference
`#include "ruby/ruby.h"`
`#include "ruby/encoding.h"`
`#include "internal.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.

## Data Structures
struct | rb_encoding_entry
struct | default_encoding

## Macros
#define | ENCODING_COUNT ENCINDEX_BUILTIN_MAX
#define | UNSPECIFIED_ENCODING INT_MAX
#define | ENCODING_NAMELEN_MAX 63
#define | valid_encoding_name_p(name) ((name) && strlen(name) <= ENCODING_NAMELEN_MAX)
#define | enc_autoload_p(enc) (!rb_enc_mbmaxlen(enc))
#define | is_data_encoding(obj) (RTYPEDDATA_P(obj) && RTYPEDDATA_TYPE(obj) == &encoding_data_type)
#define | ENC_REGISTER(enc) enc_register_at(ENCINDEX_##enc, rb_enc_name(&OnigEncoding##enc), &OnigEncoding##enc)
#define | rb_intern(str) rb_intern_const(str)
#define | ctype_test(c, ctype) (rb_isascii(c) && ONIGENC_IS_ASCII_CODE_CTYPE((c), (ctype)))

## Enumerations
enum | { ENCINDEX_ASCII, ENCINDEX_UTF_8, ENCINDEX_US_ASCII, ENCINDEX_BUILTIN_MAX }

## Functions
void | rb_enc_init (void)
static int | load_encoding (const char *name)
static size_t | enc_memsize (const void *p)
static VALUE | enc_new (rb_encoding *encoding)
static VALUE | rb_enc_from_encoding_index (int idx)
VALUE | rb_enc_from_encoding (rb_encoding *encoding)
static int | enc_autoload (rb_encoding *)
static int | check_encoding (rb_encoding *enc)
static int | enc_check_encoding (VALUE obj)
static int | must_encoding (VALUE enc)
int | rb_to_encoding_index (VALUE enc)
static int | str_find_encindex (VALUE enc)
static int | str_to_encindex (VALUE enc)
static rb_encoding * | str_to_encoding (VALUE enc)
rb_encoding * | rb_to_encoding (VALUE enc)
rb_encoding * | rb_find_encoding (VALUE enc)
void | rb_gc_mark_encodings (void)
static int | enc_table_expand (int newsize)
static int | enc_register_at (int index, const char *name, rb_encoding *encoding)
static int | enc_register (const char *name, rb_encoding *encoding)
static void | set_encoding_const (const char *, rb_encoding *)
int | rb_enc_registered (const char *name)
int | rb_enc_register (const char *name, rb_encoding *encoding)
void | rb_encdb_declare (const char *name)
static void | enc_check_duplication (const char *name)
static rb_encoding * | set_base_encoding (int index, rb_encoding *base)
void | rb_enc_set_base (const char *name, const char *orig)
int | rb_enc_replicate (const char *name, rb_encoding *encoding)
static VALUE | enc_replicate (VALUE encoding, VALUE name)
static int | enc_replicate_with_index (const char *name, rb_encoding *origenc, int idx)
int | rb_encdb_replicate (const char *name, const char *orig)
int | rb_define_dummy_encoding (const char *name)
int | rb_encdb_dummy (const char *name)
static VALUE | enc_dummy_p (VALUE enc)
static VALUE | enc_ascii_compatible_p (VALUE enc)
int | rb_enc_unicode_p (rb_encoding *enc)
static st_data_t | enc_dup_name (st_data_t name)
static int | enc_alias_internal (const char *alias, int idx)
static int | enc_alias (const char *alias, int idx)
int | rb_enc_alias (const char *alias, const char *orig)
int | rb_encdb_alias (const char *alias, const char *orig)
void | rb_encdb_set_unicode (int index)
rb_encoding * | rb_enc_from_index (int index)
static VALUE | require_enc (VALUE enclib)
int | rb_enc_find_index (const char *name)
rb_encoding * | rb_enc_find (const char *name)
static int | enc_capable (VALUE obj)
ID | rb_id_encoding (void)
int | rb_enc_get_index (VALUE obj)
static void | enc_set_index (VALUE obj, int idx)
void | rb_enc_set_index (VALUE obj, int idx)
VALUE | rb_enc_associate_index (VALUE obj, int idx)
VALUE | rb_enc_associate (VALUE obj, rb_encoding *enc)
rb_encoding * | rb_enc_get (VALUE obj)
rb_encoding * | rb_enc_check (VALUE str1, VALUE str2)
rb_encoding * | rb_enc_compatible (VALUE str1, VALUE str2)
void | rb_enc_copy (VALUE obj1, VALUE obj2)
VALUE | rb_obj_encoding (VALUE obj)
int | rb_enc_fast_mbclen (const char *p, const char *e, rb_encoding *enc)
int | rb_enc_mbclen (const char *p, const char *e, rb_encoding *enc)
int | rb_enc_precise_mbclen (const char *p, const char *e, rb_encoding *enc)
int | rb_enc_ascget (const char *p, const char *e, int *len, rb_encoding *enc)
unsigned int | rb_enc_codepoint_len (const char *p, const char *e, int *len_p, rb_encoding *enc)
unsigned int | rb_enc_codepoint (const char *p, const char *e, rb_encoding *enc)
int | rb_enc_codelen (int c, rb_encoding *enc)
int | rb_enc_toupper (int c, rb_encoding *enc)
int | rb_enc_tolower (int c, rb_encoding *enc)
static VALUE | enc_inspect (VALUE self)
static VALUE | enc_name (VALUE self)
static int | enc_names_i (st_data_t name, st_data_t idx, st_data_t args)
static VALUE | enc_names (VALUE self)
static VALUE | enc_list (VALUE klass)
static VALUE | enc_find (VALUE klass, VALUE enc)
static VALUE | enc_compatible_p (VALUE klass, VALUE str1, VALUE str2)
static VALUE | enc_dump (int argc, VALUE *argv, VALUE self)
static VALUE | enc_load (VALUE klass, VALUE str)
rb_encoding * | rb_ascii8bit_encoding (void)
int | rb_ascii8bit_encindex (void)
rb_encoding * | rb_utf8_encoding (void)
int | rb_utf8_encindex (void)
rb_encoding * | rb_usascii_encoding (void)
int | rb_usascii_encindex (void)
int | rb_locale_encindex (void)
rb_encoding * | rb_locale_encoding (void)
static int | enc_set_filesystem_encoding (void)
int | rb_filesystem_encindex (void)
rb_encoding * | rb_filesystem_encoding (void)
static int | enc_set_default_encoding (struct default_encoding *def, VALUE encoding, const char *name)
rb_encoding * | rb_default_external_encoding (void)
VALUE | rb_enc_default_external (void)
static VALUE | get_default_external (VALUE klass)
void | rb_enc_set_default_external (VALUE encoding)
static VALUE | set_default_external (VALUE klass, VALUE encoding)
rb_encoding * | rb_default_internal_encoding (void)
VALUE | rb_enc_default_internal (void)
static VALUE | get_default_internal (VALUE klass)
void | rb_enc_set_default_internal (VALUE encoding)
static VALUE | set_default_internal (VALUE klass, VALUE encoding)
VALUE | rb_locale_charmap (VALUE klass)
static int | rb_enc_name_list_i (st_data_t name, st_data_t idx, st_data_t arg)
static VALUE | rb_enc_name_list (VALUE klass)
static int | rb_enc_aliases_enc_i (st_data_t name, st_data_t orig, st_data_t arg)
static VALUE | rb_enc_aliases (VALUE klass)
void | Init_Encoding (void)
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)
int | rb_isgraph (int c)
int | rb_islower (int c)
int | rb_isprint (int c)
int | rb_ispunct (int c)
int | rb_isspace (int c)
int | rb_isupper (int c)
int | rb_isxdigit (int c)
int | rb_tolower (int c)
int | rb_toupper (int c)

## Variables
static ID | id_encoding
VALUE | rb_cEncoding
static VALUE | rb_encoding_list
struct {
struct rb_encoding_entry * list
int count
int size
st_table * names
} | enc_table
static const rb_data_type_t | encoding_data_type
rb_encoding | OnigEncodingUTF_8
rb_encoding | OnigEncodingUS_ASCII
static struct default_encoding | default_external = {0}
static struct default_encoding | default_internal = {-2}

## Macro Definition Documentation

#define ctype_test | ( |  | c,
|  |  | ctype
| ) |  | (rb_isascii(c) && ONIGENC_IS_ASCII_CODE_CTYPE((c), (ctype)))

Definition at line 1881 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 64 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 58 of file encoding.c.

Referenced by rb_enc_init().

#define ENCODING_NAMELEN_MAX 63

Definition at line 61 of file encoding.c.

Referenced by set_encoding_const().

#define is_data_encoding | ( |  | obj | ) | (RTYPEDDATA_P(obj) && RTYPEDDATA_TYPE(obj) == &encoding_data_type)

Definition at line 79 of file encoding.c.

Referenced by enc_capable(), enc_find(), and rb_enc_get_index().

#define rb_intern | ( |  | str | ) | rb_intern_const(str)

#define UNSPECIFIED_ENCODING INT_MAX

Definition at line 59 of file encoding.c.

Referenced by enc_find(), enc_set_default_encoding(), and rb_enc_find_index().

#define valid_encoding_name_p | ( |  | name | ) | ((name) && strlen(name) <= ENCODING_NAMELEN_MAX)

Definition at line 62 of file encoding.c.

Referenced by enc_alias(), and enc_register_at().

## Enumeration Type Documentation

anonymous enum

Enumerator
ENCINDEX_ASCII |
ENCINDEX_UTF_8 |
ENCINDEX_US_ASCII |
ENCINDEX_BUILTIN_MAX |

Definition at line 522 of file encoding.c.

## Function Documentation

static int check_encoding | ( | rb_encoding * | enc | ) |
| static

Definition at line 114 of file encoding.c.

References enc_autoload(), enc_autoload_p, index, 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 482 of file encoding.c.

References enc_alias_internal(), idx, rb_enc_from_index(), set_encoding_const(), and valid_encoding_name_p.

Referenced by rb_enc_alias(), and rb_encdb_alias().

static int enc_alias_internal | ( | const char * | alias,
|  | int | idx
| ) |  |
| static

Definition at line 475 of file encoding.c.

References enc_dup_name(), enc_table, and st_insert2().

Referenced by enc_alias(), enc_set_default_encoding(), enc_set_filesystem_encoding(), and rb_locale_encindex().

static VALUE enc_ascii_compatible_p | ( | VALUE | enc | ) |
| static

Definition at line 450 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 * | enc | ) |
| static

Definition at line 611 of file encoding.c.

References rb_encoding_entry::base, enc_autoload_p, enc_register_at(), enc_table, ENC_TO_ENCINDEX, i, 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 667 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 313 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 126 of file encoding.c.

References check_encoding(), data, rb_typeddata_is_kind_of(), RDATA, and SPECIAL_CONST_P.

Referenced by must_encoding(), rb_enc_get_index(), rb_find_encoding(), rb_to_encoding(), and rb_to_encoding_index().

static VALUE enc_compatible_p | ( | VALUE | klass,
|  | VALUE | str1,
|  | VALUE | str2
| ) |  |
| static

Definition at line 1126 of file encoding.c.

References enc, enc_capable(), Qnil, rb_enc_compatible(), and rb_enc_from_encoding().

Referenced by Init_Encoding().

static VALUE enc_dummy_p | ( | VALUE | enc | ) |
| static

Definition at line 434 of file encoding.c.

References ENC_DUMMY_P, enc_table, must_encoding(), Qfalse, and Qtrue.

Referenced by enc_inspect(), and Init_Encoding().

static VALUE enc_dump | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | self
| ) |  |
| static

Definition at line 1139 of file encoding.c.

References enc_name, and rb_scan_args().

Referenced by Init_Encoding().

static st_data_t enc_dup_name | ( | st_data_t | name | ) |
| static

Definition at line 465 of file encoding.c.

References strdup.

Referenced by enc_alias_internal().

static VALUE enc_find | ( | VALUE | klass,
|  | VALUE | enc
| ) |  |
| static

Definition at line 1091 of file encoding.c.

References enc, idx, is_data_encoding, Qnil, rb_enc_from_encoding_index(), RB_TYPE_P, str_to_encindex(), T_DATA, and UNSPECIFIED_ENCODING.

Referenced by enc_load(), and Init_Encoding().

static VALUE enc_inspect | ( | VALUE | self | ) |
| static

Definition at line 985 of file encoding.c.

References DATA_PTR(), ENC_CODERANGE_7BIT, enc_dummy_p(), ENCODING_CODERANGE_SET, rb_enc_name, rb_obj_classname(), rb_sprintf(), rb_usascii_encindex(), and str.

Referenced by Init_Encoding().

static VALUE enc_list | ( | VALUE | klass | ) |
| static

Definition at line 1059 of file encoding.c.

References ary, rb_ary_new2(), rb_ary_replace(), and rb_encoding_list.

static VALUE enc_load | ( | VALUE | klass,
|  | VALUE | str
| ) |  |
| static

Definition at line 1147 of file encoding.c.

References enc_find().

Referenced by Init_Encoding().

static size_t enc_memsize | ( | const void * | p | ) |
| static

Definition at line 69 of file encoding.c.

static VALUE enc_name | ( | VALUE | self | ) |
| static

Definition at line 1003 of file encoding.c.

References DATA_PTR(), rb_enc_name, and rb_usascii_str_new2.

static VALUE enc_names | ( | VALUE | self | ) |
| static

Definition at line 1030 of file encoding.c.

References args, enc_names_i(), enc_table, rb_ary_new2(), rb_to_encoding_index(), and st_foreach().

Referenced by Init_Encoding().

static int enc_names_i | ( | st_data_t | name,
|  | st_data_t | idx,
|  | st_data_t | args
| ) |  |
| static

Definition at line 1009 of file encoding.c.

References arg, int, OBJ_FREEZE, rb_ary_push(), rb_usascii_str_new2, ST_CONTINUE, and str.

Referenced by enc_names().

static VALUE enc_new | ( | rb_encoding * | encoding | ) |
| static

Definition at line 82 of file encoding.c.

References 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 266 of file encoding.c.

References enc_register_at(), enc_table, enc_table_expand(), and index.

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 232 of file encoding.c.

References rb_encoding_entry::enc, enc_new(), enc_table, index, list, memset(), rb_encoding_entry::name, OnigEncodingTypeST::name, 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().

static VALUE enc_replicate | ( | VALUE | encoding,
|  | VALUE | name
| ) |  |
| static

Definition at line 364 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 372 of file encoding.c.

References enc_register(), enc_register_at(), idx, 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 1261 of file encoding.c.

References 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 1220 of file encoding.c.

References cp, enc_alias_internal(), idx, int, rb_ascii8bit_encindex(), rb_default_external_encoding(), rb_enc_find_index(), rb_enc_to_index, and snprintf.

Referenced by enc_set_default_encoding().

static void enc_set_index | ( | VALUE | obj,
|  | int | idx
| ) |  |
| static

Definition at line 730 of file encoding.c.

References ENCODING_INLINE_MAX, ENCODING_SET_INLINED, INT2NUM, rb_id_encoding(), and rb_ivar_set().

Referenced by rb_enc_associate_index(), and rb_enc_set_index().

static int enc_table_expand | ( | int | newsize | ) |
| static

Definition at line 216 of file encoding.c.

References count, enc_table, memset(), and realloc().

Referenced by enc_register(), and rb_enc_init().

static VALUE get_default_external | ( | VALUE | klass | ) |
| static

Definition at line 1334 of file encoding.c.

References rb_enc_default_external().

Referenced by Init_Encoding().

static VALUE get_default_internal | ( | VALUE | klass | ) |
| static

Definition at line 1420 of file encoding.c.

References rb_enc_default_internal().

Referenced by Init_Encoding().

void Init_Encoding | ( | void |  | ) |

Definition at line 1837 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(), i, 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 580 of file encoding.c.

References debug, e, enc_autoload_p, enc_table, FL_TAINT, FL_UNSET, FL_UNTRUSTED, idx, ISALNUM, ISUPPER, NIL_P(), OBJ_FREEZE, Qfalse, rb_enc_registered(), rb_errinfo, rb_protect(), rb_set_errinfo(), rb_sprintf(), require_enc(), RSTRING_END, RSTRING_PTR, ruby_debug, ruby_verbose, s, and TOLOWER.

Referenced by enc_autoload(), and rb_enc_find_index().

static int must_encoding | ( | VALUE | enc | ) |
| static

Definition at line 135 of file encoding.c.

References enc_check_encoding(), index, 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 1162 of file encoding.c.

References ENCINDEX_ASCII.

Referenced by enc_set_filesystem_encoding(), pack_unpack(), parser_regx_options(), rb_char_to_option_kcode(), rb_filesystem_encindex(), rb_locale_encindex(), and transcode_io().

rb_encoding* rb_ascii8bit_encoding | ( | void |  | ) |

Definition at line 1153 of file encoding.c.

References enc_table, ENCINDEX_ASCII, and rb_enc_init().

Referenced by code_page(), do_opendir(), 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_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_concat(), rb_str_dump(), rb_str_encode_ospath(), rb_strftime_with_timespec(), rb_symname_p(), rb_w32_conv_from_wchar(), rb_w32_readdir(), 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 1288 of file encoding.c.

References 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(), io_read_encoding(), ole_init_cp(), rb_enc_default_external(), rb_enc_reg_error_desc(), rb_external_str_new(), rb_external_str_new_cstr(), rb_inspect(), rb_io_ext_int_to_encs(), rb_reg_desc(), rb_str_export(), rb_str_inspect(), rb_str_quote_unprintable(), rb_str_symname_p(), require_libraries(), strio_init(), strio_set_encoding(), and validate_enc_binmode().

rb_encoding* rb_default_internal_encoding | ( | void |  | ) |

Definition at line 1373 of file encoding.c.

References default_encoding::enc, default_encoding::index, and rb_enc_from_index().

Referenced by file_path_convert(), int_chr(), ole_init_cp(), parse(), process_options(), 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(), rb_str_quote_unprintable(), and rb_str_symname_p().

int rb_define_dummy_encoding | ( | const char * | name | ) |

Definition at line 400 of file encoding.c.

References enc, ENC_SET_DUMMY, enc_table, index, rb_ascii8bit_encoding(), and rb_enc_replicate().

Referenced by 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 491 of file encoding.c.

References enc_alias(), enc_check_duplication(), enc_table, idx, rb_enc_find_index(), and rb_enc_init().

static VALUE rb_enc_aliases | ( | VALUE | klass | ) |
| static

Definition at line 1627 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().

static int rb_enc_aliases_enc_i | ( | st_data_t | name,
|  | st_data_t | orig,
|  | st_data_t | arg
| ) |  |
| static

Definition at line 1590 of file encoding.c.

References ary, enc, idx, int, key, NIL_P(), OBJ_FREEZE, p, rb_ary_entry(), rb_ary_store(), rb_enc_from_index(), rb_enc_name, rb_hash_aset(), rb_usascii_str_new2, ST_CONTINUE, str, 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 910 of file encoding.c.

References c, 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(), rmext(), str_end_with_asciichar(), swallow(), tr_setup_table(), tr_trans(), and trnext().

VALUE rb_enc_associate | ( | VALUE | obj,
|  | rb_encoding * | enc
| ) |  |

Definition at line 766 of file encoding.c.

References rb_enc_associate_index(), and rb_enc_to_index.

Referenced by append_fspath(), econv_primitive_convert(), econv_putback(), gzfile_getc(), gzfile_newstr(), intern_str(), io_enc_str(), io_shift_cbuf(), lex_getline(), load_file_internal(), locale_path(), parser_nextc(), parser_str_new(), process_options(), rb_ary_join(), rb_check_id_cstr(), 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_file_expand_path_internal(), rb_file_join(), rb_home_dir(), 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_concat(), rb_str_dump(), rb_str_ellipsize(), 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(), require_libraries(), ruby__sfvextra(), RUBY_ALIAS_FUNCTION(), str_gsub(), strio_read(), strio_set_encoding(), syserr_initialize(), and tr_trans().

VALUE rb_enc_associate_index | ( | VALUE | obj,
|  | int | idx
| ) |  |

Definition at line 748 of file encoding.c.

References ENC_CODERANGE_ASCIIONLY, ENC_CODERANGE_CLEAR, enc_set_index(), obj, rb_check_frozen, rb_eArgError, rb_enc_asciicompat, rb_enc_from_index(), rb_enc_get_index(), rb_raise(), and SPECIAL_CONST_P.

Referenced by encoded_dup(), make_econv_exception(), parser_set_encode(), r_ivar(), r_symreal(), rb_enc_associate(), rb_enc_copy(), rb_find_file_ext_safe(), rb_find_file_safe(), str_encode_associate(), and str_encode_bang().

rb_encoding* rb_enc_check | ( | VALUE | str1,
|  | VALUE | str2
| ) |  |

Definition at line 778 of file encoding.c.

References enc, rb_eEncCompatError, rb_enc_compatible(), rb_enc_get(), rb_enc_name, and rb_raise().

Referenced by append_fspath(), rb_file_expand_path_internal(), rb_file_join(), rb_str_append(), rb_str_chomp_bang(), rb_str_count(), rb_str_delete_bang(), rb_str_end_with(), rb_str_enumerate_lines(), 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(), readline_attempted_completion_function(), realpath_rec(), and tr_trans().

int rb_enc_codelen | ( | int | c,
|  | rb_encoding * | enc
| ) |  |

Definition at line 954 of file encoding.c.

References n, 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 948 of file encoding.c.

References 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 933 of file encoding.c.

References MBCLEN_CHARFOUND_LEN, MBCLEN_CHARFOUND_P, r, 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_enumerate_codepoints(), rb_str_enumerate_lines(), rb_str_format(), rb_str_lstrip_bang(), rb_str_split_m(), rb_str_squeeze_bang(), rb_str_swapcase_bang(), rb_str_upcase_bang(), readline_attempted_completion_function(), rmext(), strio_each_codepoint(), sym_printable(), tr_trans(), and trnext().

rb_encoding* rb_enc_compatible | ( | VALUE | str1,
|  | VALUE | str2
| ) |  |

Definition at line 789 of file encoding.c.

References enc2, ENC_CODERANGE_7BIT, ENCINDEX_US_ASCII, rb_enc_asciicompat, rb_enc_from_index(), rb_enc_get_index(), rb_enc_str_asciionly_p(), rb_enc_str_coderange(), RB_TYPE_P, RSTRING_LEN, T_STRING, and tmp.

Referenced by enc_compatible_p(), file_s_fnmatch(), literal_concat0(), location_format(), rb_enc_check(), rb_file_s_basename(), rb_str_casecmp(), rb_str_sub_bang(), and ruby__sfvextra().

void rb_enc_copy | ( | VALUE | obj1,
|  | VALUE | obj2
| ) |  |

Definition at line 856 of file encoding.c.

References rb_enc_associate_index(), and rb_enc_get_index().

Referenced by ary_join_0(), ary_join_1(), date_s__parse_internal(), date_s__strptime_internal(), date_strftime_internal(), inspect_ary(), inspect_i(), rb_attr(), rb_check_id(), rb_file_dirname(), rb_file_expand_path_internal(), rb_file_join(), rb_file_s_basename(), rb_reg_desc(), rb_reg_quote(), rb_reg_s_union(), rb_reg_to_s(), rb_str_format(), RUBY_ALIAS_FUNCTION(), str_new(), and strio_read().

VALUE rb_enc_default_external | ( | void |  | ) |

Definition at line 1302 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 1382 of file encoding.c.

References rb_default_internal_encoding(), and rb_enc_from_encoding().

Referenced by get_default_internal(), if(), and str_transcode0().

int rb_enc_fast_mbclen | ( | const char * | p,
|  | const char * | e,
|  | rb_encoding * | enc
| ) |  |

Definition at line 880 of file encoding.c.

References ONIGENC_MBC_ENC_LEN, and UChar.

Referenced by enc_strlen(), rb_str_enumerate_chars(), rb_str_reverse(), rb_str_split_m(), scan_once(), and str_gsub().

rb_encoding* rb_enc_find | ( | const char * | name | ) |

Definition at line 659 of file encoding.c.

References idx, rb_enc_find_index(), and rb_enc_from_index().

Referenced by econv_get_replacement(), econv_insert_output(), make_encoding(), make_replacement(), rb_str_inspect(), rb_w32_conv_from_wchar(), rb_w32_write_console(), and transcode_loop().

int rb_enc_find_index | ( | const char * | name | ) |

Definition at line 635 of file encoding.c.

References enc, enc_autoload(), enc_autoload_p, i, load_encoding(), rb_eArgError, rb_enc_from_index(), rb_enc_registered(), rb_raise(), rb_warn(), and UNSPECIFIED_ENCODING.

Referenced by enc_set_filesystem_encoding(), id2encidx(), if(), Init_tcltklib(), io_strip_bom(), make_econv_exception(), ole_cp2encoding(), opt_enc_index(), 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(), str_find_encindex(), transcode_io(), and transcode_string().

VALUE rb_enc_from_encoding | ( | rb_encoding * | encoding | ) |

Definition at line 103 of file encoding.c.

References ENC_TO_ENCINDEX, idx, Qnil, and rb_enc_from_encoding_index().

Referenced by argf_external_encoding(), argf_internal_encoding(), code_page(), do_writeconv(), econv_destination_encoding(), econv_insert_output(), econv_s_asciicompat_encoding(), econv_source_encoding(), enc_compatible_p(), fix_string_encoding(), get_user_from_path(), gettable_gen(), if(), 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_file_expand_path_internal(), rb_io_external_encoding(), rb_io_getline_1(), rb_io_internal_encoding(), rb_nkf_guess(), rb_parser_encoding(), rb_str_ellipsize(), rb_str_encode_ospath(), rb_w32_conv_from_wchar(), rb_w32_write_console(), readline_attempted_completion_function(), set_encoding_const(), and strio_external_encoding().

static VALUE rb_enc_from_encoding_index | ( | int | idx | ) |
| static

Definition at line 88 of file encoding.c.

References enc, list, NIL_P(), rb_ary_entry(), rb_bug(), and rb_encoding_list.

Referenced by enc_find(), enc_replicate(), rb_enc_from_encoding(), and rb_obj_encoding().

rb_encoding* rb_enc_from_index | ( | int | index | ) |

Definition at line 548 of file encoding.c.

References enc_table, index, and rb_enc_init().

Referenced by check_encoding(), econv_args(), enc_alias(), enc_arg(), enc_replicate_with_index(), file_path_convert(), if(), 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_encdb_set_unicode(), rb_filesystem_encoding(), rb_find_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_to_encoding(), str_transcode_enc_args(), and w_encoding().

rb_encoding* rb_enc_get | ( | VALUE | obj | ) |

Definition at line 772 of file encoding.c.

References rb_enc_from_index(), and rb_enc_get_index().

Referenced by check_dirname(), check_path_encoding(), check_pipe_command(), do_writeconv(), econv_set_replacement(), file_s_fnmatch(), fnmatch_brace(), intern_str(), io_encoding_set(), literal_concat0(), must_be_ascii_compatible(), must_not_be_anonymous(), ole_vstr2wc(), parser_prepare(), parser_yyerror(), path_check_0(), path_sub_ext(), prepare_getline_args(), push_glob(), rb_econv_open_opts(), rb_econv_prepare_options(), rb_enc_check(), rb_file_dirname(), rb_file_expand_path_internal(), rb_file_join(), rb_file_s_basename(), rb_file_s_extname(), rb_gzreader_ungetc(), rb_gzwriter_write(), rb_inspect(), rb_mod_const_get(), rb_must_asciicompat(), 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_size(), rb_str_ellipsize(), rb_str_encode_ospath(), rb_str_enumerate_chars(), rb_str_enumerate_lines(), rb_str_format(), rb_str_symname_type(), rb_to_encoding_index(), rb_w32_write_console(), realpath_rec(), reg_enc_error(), reg_fragment_setenc_gen(), reg_named_capture_assign_gen(), ruby__sfvextra(), RUBY_ALIAS_FUNCTION(), str_find_encindex(), strio_each_codepoint(), strio_external_encoding(), strio_getc(), strio_getline(), strio_substr(), strio_ungetc(), strio_write(), strscan_getch(), sym_check_asciionly(), syserr_initialize(), time_strftime(), transcode_loop(), and update_char_offset().

int rb_enc_get_index | ( | VALUE | obj | ) |

Definition at line 690 of file encoding.c.

References BUILTIN_TYPE, enc_check_encoding(), ENCODING_GET_INLINED, ENCODING_INLINE_MAX, i, 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, T_STRING, and tmp.

Referenced by rb_enc_associate_index(), rb_enc_compatible(), rb_enc_copy(), rb_enc_get(), rb_obj_encoding(), str_transcode_enc_args(), transcode_string(), w_encoding(), and w_symbol().

void rb_enc_init | ( | void |  | ) |

Definition at line 533 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 886 of file encoding.c.

References int, MBCLEN_CHARFOUND_LEN, MBCLEN_CHARFOUND_P, min(), n, ONIGENC_PRECISE_MBC_ENC_LEN, rb_enc_mbminlen, and UChar.

Referenced by bracket(), enc_strlen(), gzfile_getc(), intern_str(), io_getc(), is_special_global_name(), rb_enc_symname_type(), rb_str_casecmp(), rb_str_each_char_size(), rb_str_enumerate_chars(), rb_str_enumerate_lines(), rb_str_format(), rb_str_reverse(), str_nth_len(), strio_getc(), strio_ungetc(), and strscan_getch().

static VALUE rb_enc_name_list | ( | VALUE | klass | ) |
| static

Definition at line 1582 of file encoding.c.

References ary, enc_table, rb_ary_new2(), rb_enc_name_list_i(), and st_foreach().

Referenced by Init_Encoding().

static int rb_enc_name_list_i | ( | st_data_t | name,
|  | st_data_t | idx,
|  | st_data_t | arg
| ) |  |
| static

Definition at line 1558 of file encoding.c.

References ary, OBJ_FREEZE, rb_ary_push(), rb_usascii_str_new2, ST_CONTINUE, and str.

Referenced by rb_enc_name_list().

int rb_enc_precise_mbclen | ( | const char * | p,
|  | const char * | e,
|  | rb_encoding * | enc
| ) |  |

Definition at line 898 of file encoding.c.

References n, ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE, ONIGENC_PRECISE_MBC_ENC_LEN, and UChar.

Referenced by coderange_scan(), enc_pred_char(), enc_succ_char(), fnmatch_helper(), gzreader_charboundary(), io_getc(), make_econv_exception(), rb_enc_ascget(), rb_enc_codepoint_len(), rb_enc_strlen_cr(), rb_enc_uint_chr(), rb_io_each_codepoint(), rb_io_getline_1(), rb_reg_expr_str(), rb_str_coderange_scan_restartable(), rb_str_concat(), 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 279 of file encoding.c.

References enc_autoload_p, ENC_DUMMY_P, enc_register(), enc_register_at(), index, rb_eArgError, rb_enc_from_index(), rb_enc_name, rb_enc_registered(), rb_raise(), set_encoding_const(), and STRCASECMP.

int rb_enc_registered | ( | const char * | name | ) |

Definition at line 560 of file encoding.c.

References enc_table, idx, 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 343 of file encoding.c.

References enc_check_duplication(), enc_register(), idx, 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 335 of file encoding.c.

References idx, rb_enc_from_index(), rb_enc_registered(), and set_base_encoding().

void rb_enc_set_default_external | ( | VALUE | encoding | ) |

Definition at line 1340 of file encoding.c.

References 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 1426 of file encoding.c.

References enc_set_default_encoding().

Referenced by process_options(), and set_default_internal().

void rb_enc_set_index | ( | VALUE | obj,
|  | int | idx
| ) |  |

Definition at line 741 of file encoding.c.

References enc_set_index(), and rb_check_frozen.

Referenced by pack_pack(), and str_enc_copy().

int rb_enc_tolower | ( | int | c,
|  | rb_encoding * | enc
| ) |  |

Definition at line 970 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 964 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 459 of file encoding.c.

References ONIGENC_IS_UNICODE.

Referenced by rb_reg_expr_str(), and rb_str_inspect().

int rb_encdb_alias | ( | const char * | alias,
|  | const char * | orig
| ) |  |

Definition at line 506 of file encoding.c.

References enc_alias(), enc_register(), idx, and rb_enc_registered().

void rb_encdb_declare | ( | const char * | name | ) |

Definition at line 303 of file encoding.c.

References enc_register(), idx, rb_enc_from_index(), rb_enc_registered(), and set_encoding_const().

int rb_encdb_dummy | ( | const char * | name | ) |

Definition at line 410 of file encoding.c.

References enc, enc_replicate_with_index(), ENC_SET_DUMMY, enc_table, index, rb_ascii8bit_encoding(), and rb_enc_registered().

int rb_encdb_replicate | ( | const char * | name,
|  | const char * | orig
| ) |  |

Definition at line 388 of file encoding.c.

References enc_register(), enc_replicate_with_index(), idx, rb_enc_from_index(), and rb_enc_registered().

void rb_encdb_set_unicode | ( | int | index | ) |

Definition at line 517 of file encoding.c.

References OnigEncodingTypeST::flags, ONIGENC_FLAG_UNICODE, and rb_enc_from_index().

int rb_filesystem_encindex | ( | void |  | ) |

Definition at line 1239 of file encoding.c.

References idx, rb_ascii8bit_encindex(), and rb_enc_registered().

Referenced by rb_filesystem_encoding().

rb_encoding* rb_filesystem_encoding | ( | void |  | ) |

Definition at line 1248 of file encoding.c.

References rb_enc_from_index(), and rb_filesystem_encindex().

Referenced by coverage(), debug_lines(), dir_initialize(), env_fetch(), etc_systmpdir(), file_path_convert(), gettable_gen(), push_glob(), rb_dir_getwd(), rb_f_getenv(), rb_file_expand_path_internal(), rb_filesystem_str_new(), rb_filesystem_str_new_cstr(), rb_home_dir(), rb_str_encode_ospath(), and rb_w32_special_folder().

rb_encoding* rb_find_encoding | ( | VALUE | enc | ) |

Definition at line 201 of file encoding.c.

References enc_check_encoding(), idx, NULL, rb_enc_from_index(), RDATA, and str_find_encindex().

Referenced by find_encoding().

void rb_gc_mark_encodings | ( | void |  | ) |

Definition at line 211 of file encoding.c.

Referenced by gc_marks().

ID rb_id_encoding | ( | void |  | ) |

Definition at line 683 of file encoding.c.

References CONST_ID, and id_encoding.

Referenced by enc_set_index(), id2encidx(), rb_enc_get_index(), w_encoding(), and w_obj_each().

int rb_isalnum | ( | int | c | ) |

Definition at line 1884 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_ALNUM.

int rb_isalpha | ( | int | c | ) |

Definition at line 1885 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_ALPHA.

int rb_isblank | ( | int | c | ) |

Definition at line 1886 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_BLANK.

int rb_iscntrl | ( | int | c | ) |

Definition at line 1887 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_CNTRL.

int rb_isdigit | ( | int | c | ) |

Definition at line 1888 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_DIGIT.

Referenced by f_format().

int rb_isgraph | ( | int | c | ) |

Definition at line 1889 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_GRAPH.

int rb_islower | ( | int | c | ) |

Definition at line 1890 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_LOWER.

int rb_isprint | ( | int | c | ) |

Definition at line 1891 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 1892 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_PUNCT.

Referenced by rb_id2str().

int rb_isspace | ( | int | c | ) |

Definition at line 1893 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 | ) |

Definition at line 1894 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_UPPER.

int rb_isxdigit | ( | int | c | ) |

Definition at line 1895 of file encoding.c.

References ctype_test, and ONIGENC_CTYPE_XDIGIT.

VALUE rb_locale_charmap | ( | VALUE | klass | ) |

Definition at line 1479 of file encoding.c.

References cp, int, 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 1198 of file encoding.c.

References enc_alias_internal(), idx, 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 1214 of file encoding.c.

References rb_enc_from_index(), and rb_locale_encindex().

Referenced by env_str_new(), load_file_internal(), locale_path(), process_options(), rb_default_external_encoding(), rb_loaderror(), rb_loaderror_with_path(), rb_locale_str_new(), rb_locale_str_new_cstr(), rb_str_export_locale(), rb_strftime_with_timespec(), readline_attempted_completion_function(), and syserr_initialize().

VALUE rb_obj_encoding | ( | VALUE | obj | ) |

Definition at line 870 of file encoding.c.

References idx, rb_enc_from_encoding_index(), rb_enc_get_index(), rb_eTypeError, and rb_raise().

Referenced by Init_Regexp(), Init_String(), str_transcode0(), and sym_encoding().

rb_encoding* rb_to_encoding | ( | VALUE | enc | ) |

Definition at line 194 of file encoding.c.

References enc_check_encoding(), RDATA, and str_to_encoding().

Referenced by decorate_convpath(), dir_initialize(), enc_replicate(), enc_set_default_encoding(), int_chr(), rb_io_extract_encoding_option(), rb_str_force_encoding(), and strio_set_encoding().

int rb_to_encoding_index | ( | VALUE | enc | ) |

Definition at line 146 of file encoding.c.

References enc_check_encoding(), idx, 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(), rb_io_extract_encoding_option(), and transcode_io().

int rb_tolower | ( | int | c | ) |

Definition at line 1898 of file encoding.c.

References c, ONIGENC_ASCII_CODE_TO_LOWER_CASE, and rb_isascii.

Referenced by readline_attempted_completion_function().

int rb_toupper | ( | int | c | ) |

Definition at line 1904 of file encoding.c.

References c, ONIGENC_ASCII_CODE_TO_UPPER_CASE, and rb_isascii.

int rb_usascii_encindex | ( | void |  | ) |

Definition at line 1192 of file encoding.c.

References ENCINDEX_US_ASCII.

Referenced by code_page(), enc_inspect(), id2encidx(), pack_pack(), rb_find_file_ext_safe(), rb_find_file_safe(), rb_locale_encindex(), rb_usascii_str_new(), RUBY_ALIAS_FUNCTION(), transcode_io(), w_encoding(), and w_symbol().

rb_encoding* rb_usascii_encoding | ( | void |  | ) |

Definition at line 1183 of file encoding.c.

References enc_table, ENCINDEX_US_ASCII, and rb_enc_init().

Referenced by code_page(), do_opendir(), file_path_convert(), Init_id(), intern_str(), mk_inspect(), of2str(), parser_str_new(), push_glob(), rb_ary_join(), rb_external_str_new_with_enc(), rb_intern2(), rb_nkf_convert(), rb_reg_desc(), rb_reg_initialize(), rb_reg_quote(), rb_str_concat(), rb_str_inspect(), rb_str_upto(), rb_strftime_with_timespec(), reg_fragment_setenc_gen(), setup_exception(), time_asctime(), and time_to_s().

int rb_utf8_encindex | ( | void |  | ) |

Definition at line 1177 of file encoding.c.

References ENCINDEX_UTF_8.

Referenced by id2encidx(), io_strip_bom(), pack_pack(), parse(), rb_char_to_option_kcode(), transcode_io(), transcode_string(), and w_encoding().

rb_encoding* rb_utf8_encoding | ( | void |  | ) |

Definition at line 1168 of file encoding.c.

References enc_table, ENCINDEX_UTF_8, and rb_enc_init().

Referenced by alias(), append_utf8(), do_opendir(), env_fetch(), env_str_new(), fix_string_encoding(), get_user_from_path(), Init_nkf(), Init_tcltklib(), load_file_internal(), make_econv_exception(), parser_initialize(), parser_prepare(), parser_str_new(), parser_tokadd_utf8(), rb_f_getenv(), rb_file_expand_path_internal(), rb_memsearch(), rb_str_dump(), rb_str_encode_ospath(), rb_str_subpos(), scalar(), start_document(), start_mapping(), start_sequence(), str_strlen(), and transcode_string().

static VALUE require_enc | ( | VALUE | enclib | ) |
| static

Definition at line 573 of file encoding.c.

References rb_require_safe(), rb_safe_level, and safe.

Referenced by load_encoding().

static rb_encoding* set_base_encoding | ( | int | index,
|  | rb_encoding * | base
| ) |  |
| static

Definition at line 321 of file encoding.c.

References rb_encoding_entry::base, enc, ENC_SET_DUMMY, enc_table, index, and rb_enc_dummy_p().

Referenced by enc_replicate_with_index(), rb_enc_replicate(), and rb_enc_set_base().

static VALUE set_default_external | ( | VALUE | klass,
|  | VALUE | encoding
| ) |  |
| static

Definition at line 1363 of file encoding.c.

References rb_enc_set_default_external(), and rb_warning().

Referenced by Init_Encoding().

static VALUE set_default_internal | ( | VALUE | klass,
|  | VALUE | encoding
| ) |  |
| static

Definition at line 1446 of file encoding.c.

References rb_enc_set_default_internal(), and rb_warning().

Referenced by Init_Encoding().

static void set_encoding_const | ( | const char * | name,
|  | rb_encoding * | enc
| ) |  |
| static

Definition at line 1507 of file encoding.c.

References ALLOCA_N, ENCODING_NAMELEN_MAX, ISALNUM, ISDIGIT, ISLOWER, ISUPPER, len, MEMCPY, name, ONIGENC_ASCII_CODE_TO_UPPER_CASE, rb_cEncoding, rb_define_const(), rb_enc_from_encoding(), s, and strlen().

Referenced by enc_alias(), enc_replicate_with_index(), rb_enc_register(), rb_enc_replicate(), and rb_encdb_declare().

static int str_find_encindex | ( | VALUE | enc | ) |
| static

Definition at line 165 of file encoding.c.

References idx, rb_eArgError, rb_enc_asciicompat, rb_enc_find_index(), rb_enc_get(), rb_raise(), StringValue, and StringValueCStr.

Referenced by rb_find_encoding(), and str_to_encindex().

static int str_to_encindex | ( | VALUE | enc | ) |
| static

Definition at line 178 of file encoding.c.

References idx, rb_eArgError, rb_raise(), RSTRING_PTR, and str_find_encindex().

Referenced by enc_find(), and str_to_encoding().

static rb_encoding* str_to_encoding | ( | VALUE | enc | ) |
| static

Definition at line 188 of file encoding.c.

References rb_enc_from_index(), and str_to_encindex().

Referenced by rb_to_encoding().

## Variable Documentation

int count

Definition at line 51 of file encoding.c.

Referenced by asn1time_to_time(), constat_apply(), enc_table_expand(), EVENTSINK_Invoke(), find_coclass(), find_iid(), gc_prof_timer_start(), gc_prof_timer_stop(), gc_profile_dump_on(), lazy_zip_arrays_func(), 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(), rb_read_internal(), rb_write_internal(), rb_write_internal2(), read_num(), typeinfo_from_ole(), update_coverage(), and waitpid().

struct default_encoding default_external = {0}
| static

Definition at line 1258 of file encoding.c.

struct default_encoding default_internal = {-2}
| static

Definition at line 1370 of file encoding.c.

struct { ... } enc_table

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,},
}
enc_memsize
static size_t enc_memsize(const void *p)
Definition: encoding.c:69

Definition at line 74 of file encoding.c.

ID id_encoding
| static

Definition at line 39 of file encoding.c.

Referenced by rb_id_encoding().

struct rb_encoding_entry* list

Definition at line 50 of file encoding.c.

Referenced by add_modules(), class_instance_method_list(), enc_register_at(), fc_i(), gc_marks(), 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_i(), 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(), rb_threadptr_exec_event_hooks_orig(), recursive_list_access(), require_libraries(), resize_property_list(), ruby_glob0(), select_internal(), switch(), thread_join(), and verify_list().

st_table* names

Definition at line 53 of file encoding.c.

Referenced by code_page(), make_hostent_internal(), match_inspect(), and sock_s_gethostbyaddr().

rb_encoding OnigEncodingUS_ASCII

rb_encoding OnigEncodingUTF_8

VALUE rb_cEncoding

Definition at line 40 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 41 of file encoding.c.

Referenced by enc_list(), enc_register_at(), Init_Encoding(), and rb_enc_from_encoding_index().

int size

Definition at line 52 of file encoding.c.

Referenced by add_code_range_to_buf0(), allocate_sorted_heaps(), argf_memsize(), backtrace_each(), backtrace_to_location_ary(), backtrace_to_str_ary(), bdigbitsize(), BSD_vfprintf(), check_machine_stack_size(), closure_memsize(), cont_memsize(), cont_save_machine_stack(), date_strftime_alloc(), dh_generate(), dlcfunc_memsize(), dsa_generate(), each_cons_i(), each_slice_i(), enum_cycle_size(), enum_each_cons(), enum_each_cons_size(), enum_each_slice(), enum_each_slice_size(), enumerator_init(), enumerator_initialize(), env_memsize(), fiber_memsize(), finish_overlapped(), finish_overlapped_socket(), fmt_setup(), function_memsize(), get_line_info(), get_user_from_path(), io_fread(), iseq_memsize(), iseq_set_local_table(), lazy_initialize(), make_readconv(), memsize_of(), mmrot3_(), mmswap_(), ole_mb2wc(), ole_vstr2wc(), ole_wc2mb(), onig_memsize(), onig_region_memsize(), onig_set_match_stack_limit_size(), ossl_dh_s_generate(), ossl_rsa_s_generate(), overlapped_socket_io(), parser_memsize(), rb_ary_initialize(), rb_dlptr_initialize(), rb_dlptr_minus(), rb_dlptr_new2(), rb_dlptr_plus(), rb_dlptr_s_malloc(), rb_dlptr_size_get(), rb_dlptr_size_set(), rb_econv_memsize(), rb_fiddle_ptr_initialize(), rb_fiddle_ptr_minus(), rb_fiddle_ptr_new2(), rb_fiddle_ptr_plus(), rb_fiddle_ptr_s_malloc(), rb_fiddle_ptr_size_get(), rb_fiddle_ptr_size_set(), rb_file_expand_path_internal(), rb_io_memsize(), rb_iseq_disasm(), rb_str_justify(), rb_strftime_alloc(), rb_struct_new(), rb_transcoding_memsize(), rb_w32_read(), rb_w32_write(), rb_zstream_set_avail_out(), recvmsg(), reg_get_val(), remove_invalid_alternative_data(), replace_to_long_name(), resize_property_list(), rsa_generate(), ruby_getcwd(), ruby_qsort(), sendmsg(), st_init_table_with_size(), strscan_memsize(), tcltklib_compile_info(), thread_memsize(), unset_addr_list_add(), unset_addr_list_init(), vm_malloc_fixup(), vm_malloc_prepare(), vm_memsize(), vm_xcalloc(), vm_xfree(), vm_xrealloc(), window_memsize(), wmap_memsize(), wstati64(), yaml_emitter_set_output_string(), yaml_parser_set_input_string(), yaml_parser_update_buffer(), yaml_string_read_handler(), and yaml_string_write_handler().