Ruby  2.5.0dev(2017-10-22revision60238)
Macros | Typedefs | Enumerations | Functions | Variables
encoding.h File Reference
#include <stdarg.h>
#include "ruby/ruby.h"
#include "ruby/oniguruma.h"

Go to the source code of this file.

Macros

#define ENCODING_INLINE_MAX   RUBY_ENCODING_INLINE_MAX
 
#define ENCODING_SHIFT   RUBY_ENCODING_SHIFT
 
#define ENCODING_MASK   RUBY_ENCODING_MASK
 
#define RB_ENCODING_SET_INLINED(obj, i)
 
#define RB_ENCODING_SET(obj, i)   rb_enc_set_index((obj), (i))
 
#define RB_ENCODING_GET_INLINED(obj)   (int)((RBASIC(obj)->flags & RUBY_ENCODING_MASK)>>RUBY_ENCODING_SHIFT)
 
#define RB_ENCODING_GET(obj)
 
#define RB_ENCODING_IS_ASCII8BIT(obj)   (RB_ENCODING_GET_INLINED(obj) == 0)
 
#define ENCODING_SET_INLINED(obj, i)   RB_ENCODING_SET_INLINED(obj,i)
 
#define ENCODING_SET(obj, i)   RB_ENCODING_SET(obj,i)
 
#define ENCODING_GET_INLINED(obj)   RB_ENCODING_GET_INLINED(obj)
 
#define ENCODING_GET(obj)   RB_ENCODING_GET(obj)
 
#define ENCODING_IS_ASCII8BIT(obj)   RB_ENCODING_IS_ASCII8BIT(obj)
 
#define ENCODING_MAXNAMELEN   RUBY_ENCODING_MAXNAMELEN
 
#define RB_ENC_CODERANGE_CLEAN_P(cr)   rb_enc_coderange_clean_p(cr)
 
#define RB_ENC_CODERANGE(obj)   ((int)RBASIC(obj)->flags & RUBY_ENC_CODERANGE_MASK)
 
#define RB_ENC_CODERANGE_ASCIIONLY(obj)   (RB_ENC_CODERANGE(obj) == RUBY_ENC_CODERANGE_7BIT)
 
#define RB_ENC_CODERANGE_SET(obj, cr)
 
#define RB_ENC_CODERANGE_CLEAR(obj)   RB_ENC_CODERANGE_SET((obj),0)
 
#define RB_ENC_CODERANGE_AND(a, b)
 
#define RB_ENCODING_CODERANGE_SET(obj, encindex, cr)
 
#define ENC_CODERANGE_MASK   RUBY_ENC_CODERANGE_MASK
 
#define ENC_CODERANGE_UNKNOWN   RUBY_ENC_CODERANGE_UNKNOWN
 
#define ENC_CODERANGE_7BIT   RUBY_ENC_CODERANGE_7BIT
 
#define ENC_CODERANGE_VALID   RUBY_ENC_CODERANGE_VALID
 
#define ENC_CODERANGE_BROKEN   RUBY_ENC_CODERANGE_BROKEN
 
#define ENC_CODERANGE_CLEAN_P(cr)   RB_ENC_CODERANGE_CLEAN_P(cr)
 
#define ENC_CODERANGE(obj)   RB_ENC_CODERANGE(obj)
 
#define ENC_CODERANGE_ASCIIONLY(obj)   RB_ENC_CODERANGE_ASCIIONLY(obj)
 
#define ENC_CODERANGE_SET(obj, cr)   RB_ENC_CODERANGE_SET(obj,cr)
 
#define ENC_CODERANGE_CLEAR(obj)   RB_ENC_CODERANGE_CLEAR(obj)
 
#define ENC_CODERANGE_AND(a, b)   RB_ENC_CODERANGE_AND(a, b)
 
#define ENCODING_CODERANGE_SET(obj, encindex, cr)   RB_ENCODING_CODERANGE_SET(obj, encindex, cr)
 
#define rb_enc_name(enc)   (enc)->name
 
#define rb_enc_mbminlen(enc)   (enc)->min_enc_len
 
#define rb_enc_mbmaxlen(enc)   (enc)->max_enc_len
 
#define MBCLEN_CHARFOUND_P(ret)   ONIGENC_MBCLEN_CHARFOUND_P(ret)
 
#define MBCLEN_CHARFOUND_LEN(ret)   ONIGENC_MBCLEN_CHARFOUND_LEN(ret)
 
#define MBCLEN_INVALID_P(ret)   ONIGENC_MBCLEN_INVALID_P(ret)
 
#define MBCLEN_NEEDMORE_P(ret)   ONIGENC_MBCLEN_NEEDMORE_P(ret)
 
#define MBCLEN_NEEDMORE_LEN(ret)   ONIGENC_MBCLEN_NEEDMORE_LEN(ret)
 
#define rb_enc_codepoint(p, e, enc)   rb_enc_codepoint_len((p),(e),0,(enc))
 
#define rb_enc_mbc_to_codepoint(p, e, enc)   ONIGENC_MBC_TO_CODE((enc),(UChar*)(p),(UChar*)(e))
 
#define rb_enc_code_to_mbclen(c, enc)   ONIGENC_CODE_TO_MBCLEN((enc), (c));
 
#define rb_enc_mbcput(c, buf, enc)   ONIGENC_CODE_TO_MBC((enc),(c),(UChar*)(buf))
 
#define rb_enc_prev_char(s, p, e, enc)   ((char *)onigenc_get_prev_char_head((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e)))
 
#define rb_enc_left_char_head(s, p, e, enc)   ((char *)onigenc_get_left_adjust_char_head((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e)))
 
#define rb_enc_right_char_head(s, p, e, enc)   ((char *)onigenc_get_right_adjust_char_head((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e)))
 
#define rb_enc_step_back(s, p, e, n, enc)   ((char *)onigenc_step_back((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e),(int)(n)))
 
#define rb_enc_is_newline(p, end, enc)   ONIGENC_IS_MBC_NEWLINE((enc),(UChar*)(p),(UChar*)(end))
 
#define rb_enc_isctype(c, t, enc)   ONIGENC_IS_CODE_CTYPE((enc),(c),(t))
 
#define rb_enc_isascii(c, enc)   ONIGENC_IS_CODE_ASCII(c)
 
#define rb_enc_isalpha(c, enc)   ONIGENC_IS_CODE_ALPHA((enc),(c))
 
#define rb_enc_islower(c, enc)   ONIGENC_IS_CODE_LOWER((enc),(c))
 
#define rb_enc_isupper(c, enc)   ONIGENC_IS_CODE_UPPER((enc),(c))
 
#define rb_enc_ispunct(c, enc)   ONIGENC_IS_CODE_PUNCT((enc),(c))
 
#define rb_enc_isalnum(c, enc)   ONIGENC_IS_CODE_ALNUM((enc),(c))
 
#define rb_enc_isprint(c, enc)   ONIGENC_IS_CODE_PRINT((enc),(c))
 
#define rb_enc_isspace(c, enc)   ONIGENC_IS_CODE_SPACE((enc),(c))
 
#define rb_enc_isdigit(c, enc)   ONIGENC_IS_CODE_DIGIT((enc),(c))
 
#define rb_enc_asciicompat(enc)   rb_enc_asciicompat_inline(enc)
 
#define rb_enc_str_asciicompat_p(str)   rb_enc_asciicompat(rb_enc_get(str))
 
#define ECONV_ERROR_HANDLER_MASK   RUBY_ECONV_ERROR_HANDLER_MASK
 
#define ECONV_INVALID_MASK   RUBY_ECONV_INVALID_MASK
 
#define ECONV_INVALID_REPLACE   RUBY_ECONV_INVALID_REPLACE
 
#define ECONV_UNDEF_MASK   RUBY_ECONV_UNDEF_MASK
 
#define ECONV_UNDEF_REPLACE   RUBY_ECONV_UNDEF_REPLACE
 
#define ECONV_UNDEF_HEX_CHARREF   RUBY_ECONV_UNDEF_HEX_CHARREF
 
#define ECONV_DECORATOR_MASK   RUBY_ECONV_DECORATOR_MASK
 
#define ECONV_NEWLINE_DECORATOR_MASK   RUBY_ECONV_NEWLINE_DECORATOR_MASK
 
#define ECONV_NEWLINE_DECORATOR_READ_MASK   RUBY_ECONV_NEWLINE_DECORATOR_READ_MASK
 
#define ECONV_NEWLINE_DECORATOR_WRITE_MASK   RUBY_ECONV_NEWLINE_DECORATOR_WRITE_MASK
 
#define ECONV_UNIVERSAL_NEWLINE_DECORATOR   RUBY_ECONV_UNIVERSAL_NEWLINE_DECORATOR
 
#define ECONV_CRLF_NEWLINE_DECORATOR   RUBY_ECONV_CRLF_NEWLINE_DECORATOR
 
#define ECONV_CR_NEWLINE_DECORATOR   RUBY_ECONV_CR_NEWLINE_DECORATOR
 
#define ECONV_XML_TEXT_DECORATOR   RUBY_ECONV_XML_TEXT_DECORATOR
 
#define ECONV_XML_ATTR_CONTENT_DECORATOR   RUBY_ECONV_XML_ATTR_CONTENT_DECORATOR
 
#define ECONV_STATEFUL_DECORATOR_MASK   RUBY_ECONV_STATEFUL_DECORATOR_MASK
 
#define ECONV_XML_ATTR_QUOTE_DECORATOR   RUBY_ECONV_XML_ATTR_QUOTE_DECORATOR
 
#define ECONV_DEFAULT_NEWLINE_DECORATOR   RUBY_ECONV_DEFAULT_NEWLINE_DECORATOR
 
#define ECONV_PARTIAL_INPUT   RUBY_ECONV_PARTIAL_INPUT
 
#define ECONV_AFTER_OUTPUT   RUBY_ECONV_AFTER_OUTPUT
 

Typedefs

typedef const OnigEncodingType rb_encoding
 
typedef struct rb_econv_t rb_econv_t
 

Enumerations

enum  ruby_encoding_consts { RUBY_ENCODING_INLINE_MAX = 127, RUBY_ENCODING_SHIFT = (RUBY_FL_USHIFT+10), RUBY_ENCODING_MASK, RUBY_ENCODING_MAXNAMELEN = 42 }
 
enum  ruby_coderange_type {
  RUBY_ENC_CODERANGE_UNKNOWN = 0, RUBY_ENC_CODERANGE_7BIT = ((int)RUBY_FL_USER8), RUBY_ENC_CODERANGE_VALID = ((int)RUBY_FL_USER9), RUBY_ENC_CODERANGE_BROKEN = ((int)(RUBY_FL_USER8|RUBY_FL_USER9)),
  RUBY_ENC_CODERANGE_MASK
}
 
enum  rb_econv_result_t {
  econv_invalid_byte_sequence, econv_undefined_conversion, econv_destination_buffer_full, econv_source_buffer_empty,
  econv_finished, econv_after_output, econv_incomplete_input
}
 
enum  ruby_econv_flag_type {
  RUBY_ECONV_ERROR_HANDLER_MASK = 0x000000ff, RUBY_ECONV_INVALID_MASK = 0x0000000f, RUBY_ECONV_INVALID_REPLACE = 0x00000002, RUBY_ECONV_UNDEF_MASK = 0x000000f0,
  RUBY_ECONV_UNDEF_REPLACE = 0x00000020, RUBY_ECONV_UNDEF_HEX_CHARREF = 0x00000030, RUBY_ECONV_DECORATOR_MASK = 0x0000ff00, RUBY_ECONV_NEWLINE_DECORATOR_MASK = 0x00003f00,
  RUBY_ECONV_NEWLINE_DECORATOR_READ_MASK = 0x00000f00, RUBY_ECONV_NEWLINE_DECORATOR_WRITE_MASK = 0x00003000, RUBY_ECONV_UNIVERSAL_NEWLINE_DECORATOR = 0x00000100, RUBY_ECONV_CRLF_NEWLINE_DECORATOR = 0x00001000,
  RUBY_ECONV_CR_NEWLINE_DECORATOR = 0x00002000, RUBY_ECONV_XML_TEXT_DECORATOR = 0x00004000, RUBY_ECONV_XML_ATTR_CONTENT_DECORATOR = 0x00008000, RUBY_ECONV_STATEFUL_DECORATOR_MASK = 0x00f00000,
  RUBY_ECONV_XML_ATTR_QUOTE_DECORATOR = 0x00100000, RUBY_ECONV_DEFAULT_NEWLINE_DECORATOR, RUBY_ECONV_PARTIAL_INPUT = 0x00010000, RUBY_ECONV_AFTER_OUTPUT = 0x00020000,
  RUBY_ECONV_FLAGS_PLACEHOLDER
}
 

Functions

int rb_char_to_option_kcode (int c, int *option, int *kcode)
 
int rb_enc_replicate (const char *, rb_encoding *)
 
int rb_define_dummy_encoding (const char *)
 
 PUREFUNC (int rb_enc_dummy_p(rb_encoding *enc))
 
int rb_enc_get_index (VALUE obj)
 
void rb_enc_set_index (VALUE obj, int encindex)
 
int rb_enc_find_index (const char *name)
 
int rb_to_encoding_index (VALUE)
 
rb_encodingrb_to_encoding (VALUE)
 
rb_encodingrb_find_encoding (VALUE)
 
rb_encodingrb_enc_get (VALUE)
 
rb_encodingrb_enc_compatible (VALUE, VALUE)
 
rb_encodingrb_enc_check (VALUE, VALUE)
 
VALUE rb_enc_associate_index (VALUE, int)
 
VALUE rb_enc_associate (VALUE, rb_encoding *)
 
void rb_enc_copy (VALUE dst, VALUE src)
 
VALUE rb_enc_str_new (const char *, long, rb_encoding *)
 
VALUE rb_enc_str_new_cstr (const char *, rb_encoding *)
 
VALUE rb_enc_str_new_static (const char *, long, rb_encoding *)
 
VALUE rb_enc_reg_new (const char *, long, rb_encoding *, int)
 
 PRINTF_ARGS (VALUE rb_enc_sprintf(rb_encoding *, const char *,...), 2, 3)
 
VALUE rb_enc_vsprintf (rb_encoding *, const char *, va_list)
 
long rb_enc_strlen (const char *, const char *, rb_encoding *)
 
char * rb_enc_nth (const char *, const char *, long, rb_encoding *)
 
VALUE rb_obj_encoding (VALUE)
 
VALUE rb_enc_str_buf_cat (VALUE str, const char *ptr, long len, rb_encoding *enc)
 
VALUE rb_enc_uint_chr (unsigned int code, rb_encoding *enc)
 
VALUE rb_external_str_new_with_enc (const char *ptr, long len, rb_encoding *)
 
VALUE rb_str_export_to_enc (VALUE, rb_encoding *)
 
VALUE rb_str_conv_enc (VALUE str, rb_encoding *from, rb_encoding *to)
 
VALUE rb_str_conv_enc_opts (VALUE str, rb_encoding *from, rb_encoding *to, int ecflags, VALUE ecopts)
 
 PRINTF_ARGS (NORETURN(void rb_enc_raise(rb_encoding *, VALUE, const char *,...)), 3, 4)
 
rb_encodingrb_enc_from_index (int idx)
 
rb_encodingrb_enc_find (const char *name)
 
int rb_enc_mbclen (const char *p, const char *e, rb_encoding *enc)
 
int rb_enc_fast_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, rb_encoding *enc)
 
unsigned int rb_enc_codepoint (const char *p, const char *e, rb_encoding *enc)
 
int rb_enc_codelen (int code, rb_encoding *enc)
 
int rb_enc_code_to_mbclen (int code, rb_encoding *enc)
 
int rb_enc_casefold (char *to, const char *p, const char *e, rb_encoding *enc)
 
 CONSTFUNC (int rb_enc_toupper(int c, rb_encoding *enc))
 
ID rb_intern3 (const char *, long, rb_encoding *)
 
ID rb_interned_id_p (const char *, long, rb_encoding *)
 
int rb_enc_symname_p (const char *, rb_encoding *)
 
int rb_enc_symname2_p (const char *, long, rb_encoding *)
 
int rb_enc_str_coderange (VALUE)
 
long rb_str_coderange_scan_restartable (const char *, const char *, rb_encoding *, int *)
 
int rb_enc_str_asciionly_p (VALUE)
 
VALUE rb_enc_from_encoding (rb_encoding *enc)
 
rb_encodingrb_ascii8bit_encoding (void)
 
rb_encodingrb_utf8_encoding (void)
 
rb_encodingrb_usascii_encoding (void)
 
rb_encodingrb_locale_encoding (void)
 
rb_encodingrb_filesystem_encoding (void)
 
rb_encodingrb_default_external_encoding (void)
 
rb_encodingrb_default_internal_encoding (void)
 
 CONSTFUNC (int rb_ascii8bit_encindex(void))
 
int rb_locale_encindex (void)
 
int rb_filesystem_encindex (void)
 
VALUE rb_enc_default_external (void)
 
VALUE rb_enc_default_internal (void)
 
void rb_enc_set_default_external (VALUE encoding)
 
void rb_enc_set_default_internal (VALUE encoding)
 
VALUE rb_locale_charmap (VALUE klass)
 
long rb_memsearch (const void *, long, const void *, long, rb_encoding *)
 
char * rb_enc_path_next (const char *, const char *, rb_encoding *)
 
char * rb_enc_path_skip_prefix (const char *, const char *, rb_encoding *)
 
char * rb_enc_path_last_separator (const char *, const char *, rb_encoding *)
 
char * rb_enc_path_end (const char *, const char *, rb_encoding *)
 
const char * ruby_enc_find_basename (const char *name, long *baselen, long *alllen, rb_encoding *enc)
 
const char * ruby_enc_find_extname (const char *name, long *len, rb_encoding *enc)
 
ID rb_check_id_cstr (const char *ptr, long len, rb_encoding *enc)
 
VALUE rb_check_symbol_cstr (const char *ptr, long len, rb_encoding *enc)
 
VALUE rb_str_encode (VALUE str, VALUE to, int ecflags, VALUE ecopts)
 
int rb_econv_has_convpath_p (const char *from_encoding, const char *to_encoding)
 
int rb_econv_prepare_options (VALUE opthash, VALUE *ecopts, int ecflags)
 
int rb_econv_prepare_opts (VALUE opthash, VALUE *ecopts)
 
rb_econv_trb_econv_open (const char *source_encoding, const char *destination_encoding, int ecflags)
 
rb_econv_trb_econv_open_opts (const char *source_encoding, const char *destination_encoding, int ecflags, VALUE ecopts)
 
rb_econv_result_t rb_econv_convert (rb_econv_t *ec, const unsigned char **source_buffer_ptr, const unsigned char *source_buffer_end, unsigned char **destination_buffer_ptr, unsigned char *destination_buffer_end, int flags)
 
void rb_econv_close (rb_econv_t *ec)
 
int rb_econv_set_replacement (rb_econv_t *ec, const unsigned char *str, size_t len, const char *encname)
 
int rb_econv_decorate_at_first (rb_econv_t *ec, const char *decorator_name)
 
int rb_econv_decorate_at_last (rb_econv_t *ec, const char *decorator_name)
 
VALUE rb_econv_open_exc (const char *senc, const char *denc, int ecflags)
 
int rb_econv_insert_output (rb_econv_t *ec, const unsigned char *str, size_t len, const char *str_encoding)
 
const char * rb_econv_encoding_to_insert_output (rb_econv_t *ec)
 
void rb_econv_check_error (rb_econv_t *ec)
 
VALUE rb_econv_make_exception (rb_econv_t *ec)
 
int rb_econv_putbackable (rb_econv_t *ec)
 
void rb_econv_putback (rb_econv_t *ec, unsigned char *p, int n)
 
const char * rb_econv_asciicompat_encoding (const char *encname)
 
VALUE rb_econv_str_convert (rb_econv_t *ec, VALUE src, int flags)
 
VALUE rb_econv_substr_convert (rb_econv_t *ec, VALUE src, long byteoff, long bytesize, int flags)
 
VALUE rb_econv_str_append (rb_econv_t *ec, VALUE src, VALUE dst, int flags)
 
VALUE rb_econv_substr_append (rb_econv_t *ec, VALUE src, long byteoff, long bytesize, VALUE dst, int flags)
 
VALUE rb_econv_append (rb_econv_t *ec, const char *bytesrc, long bytesize, VALUE dst, int flags)
 
void rb_econv_binmode (rb_econv_t *ec)
 

Variables

RUBY_EXTERN VALUE rb_cEncoding
 

Macro Definition Documentation

◆ ECONV_AFTER_OUTPUT

#define ECONV_AFTER_OUTPUT   RUBY_ECONV_AFTER_OUTPUT

Definition at line 410 of file encoding.h.

◆ ECONV_CR_NEWLINE_DECORATOR

#define ECONV_CR_NEWLINE_DECORATOR   RUBY_ECONV_CR_NEWLINE_DECORATOR

Definition at line 398 of file encoding.h.

Referenced by rb_econv_binmode().

◆ ECONV_CRLF_NEWLINE_DECORATOR

#define ECONV_CRLF_NEWLINE_DECORATOR   RUBY_ECONV_CRLF_NEWLINE_DECORATOR

Definition at line 397 of file encoding.h.

Referenced by rb_econv_binmode().

◆ ECONV_DECORATOR_MASK

#define ECONV_DECORATOR_MASK   RUBY_ECONV_DECORATOR_MASK

Definition at line 392 of file encoding.h.

◆ ECONV_DEFAULT_NEWLINE_DECORATOR

#define ECONV_DEFAULT_NEWLINE_DECORATOR   RUBY_ECONV_DEFAULT_NEWLINE_DECORATOR

Definition at line 403 of file encoding.h.

◆ ECONV_ERROR_HANDLER_MASK

#define ECONV_ERROR_HANDLER_MASK   RUBY_ECONV_ERROR_HANDLER_MASK

Definition at line 386 of file encoding.h.

◆ ECONV_INVALID_MASK

#define ECONV_INVALID_MASK   RUBY_ECONV_INVALID_MASK

Definition at line 387 of file encoding.h.

◆ ECONV_INVALID_REPLACE

#define ECONV_INVALID_REPLACE   RUBY_ECONV_INVALID_REPLACE

Definition at line 388 of file encoding.h.

◆ ECONV_NEWLINE_DECORATOR_MASK

#define ECONV_NEWLINE_DECORATOR_MASK   RUBY_ECONV_NEWLINE_DECORATOR_MASK

Definition at line 393 of file encoding.h.

Referenced by rb_econv_binmode(), and rb_io_binmode().

◆ ECONV_NEWLINE_DECORATOR_READ_MASK

#define ECONV_NEWLINE_DECORATOR_READ_MASK   RUBY_ECONV_NEWLINE_DECORATOR_READ_MASK

Definition at line 394 of file encoding.h.

◆ ECONV_NEWLINE_DECORATOR_WRITE_MASK

#define ECONV_NEWLINE_DECORATOR_WRITE_MASK   RUBY_ECONV_NEWLINE_DECORATOR_WRITE_MASK

Definition at line 395 of file encoding.h.

◆ ECONV_PARTIAL_INPUT

#define ECONV_PARTIAL_INPUT   RUBY_ECONV_PARTIAL_INPUT

Definition at line 409 of file encoding.h.

◆ ECONV_STATEFUL_DECORATOR_MASK

#define ECONV_STATEFUL_DECORATOR_MASK   RUBY_ECONV_STATEFUL_DECORATOR_MASK

Definition at line 401 of file encoding.h.

◆ ECONV_UNDEF_HEX_CHARREF

#define ECONV_UNDEF_HEX_CHARREF   RUBY_ECONV_UNDEF_HEX_CHARREF

Definition at line 391 of file encoding.h.

◆ ECONV_UNDEF_MASK

#define ECONV_UNDEF_MASK   RUBY_ECONV_UNDEF_MASK

Definition at line 389 of file encoding.h.

◆ ECONV_UNDEF_REPLACE

#define ECONV_UNDEF_REPLACE   RUBY_ECONV_UNDEF_REPLACE

Definition at line 390 of file encoding.h.

Referenced by rb_w32_conv_from_wchar().

◆ ECONV_UNIVERSAL_NEWLINE_DECORATOR

#define ECONV_UNIVERSAL_NEWLINE_DECORATOR   RUBY_ECONV_UNIVERSAL_NEWLINE_DECORATOR

Definition at line 396 of file encoding.h.

Referenced by rb_econv_binmode().

◆ ECONV_XML_ATTR_CONTENT_DECORATOR

#define ECONV_XML_ATTR_CONTENT_DECORATOR   RUBY_ECONV_XML_ATTR_CONTENT_DECORATOR

Definition at line 400 of file encoding.h.

◆ ECONV_XML_ATTR_QUOTE_DECORATOR

#define ECONV_XML_ATTR_QUOTE_DECORATOR   RUBY_ECONV_XML_ATTR_QUOTE_DECORATOR

Definition at line 402 of file encoding.h.

◆ ECONV_XML_TEXT_DECORATOR

#define ECONV_XML_TEXT_DECORATOR   RUBY_ECONV_XML_TEXT_DECORATOR

Definition at line 399 of file encoding.h.

◆ ENC_CODERANGE

#define ENC_CODERANGE (   obj)    RB_ENC_CODERANGE(obj)

◆ ENC_CODERANGE_7BIT

#define ENC_CODERANGE_7BIT   RUBY_ENC_CODERANGE_7BIT

◆ ENC_CODERANGE_AND

#define ENC_CODERANGE_AND (   a,
 
)    RB_ENC_CODERANGE_AND(a, b)

Definition at line 108 of file encoding.h.

◆ ENC_CODERANGE_ASCIIONLY

#define ENC_CODERANGE_ASCIIONLY (   obj)    RB_ENC_CODERANGE_ASCIIONLY(obj)

Definition at line 105 of file encoding.h.

◆ ENC_CODERANGE_BROKEN

#define ENC_CODERANGE_BROKEN   RUBY_ENC_CODERANGE_BROKEN

Definition at line 102 of file encoding.h.

Referenced by rb_enc_str_coderange(), and rb_str_coderange_scan_restartable().

◆ ENC_CODERANGE_CLEAN_P

#define ENC_CODERANGE_CLEAN_P (   cr)    RB_ENC_CODERANGE_CLEAN_P(cr)

Definition at line 103 of file encoding.h.

◆ ENC_CODERANGE_CLEAR

#define ENC_CODERANGE_CLEAR (   obj)    RB_ENC_CODERANGE_CLEAR(obj)

Definition at line 107 of file encoding.h.

Referenced by rb_file_expand_path_internal().

◆ ENC_CODERANGE_MASK

#define ENC_CODERANGE_MASK   RUBY_ENC_CODERANGE_MASK

Definition at line 98 of file encoding.h.

◆ ENC_CODERANGE_SET

#define ENC_CODERANGE_SET (   obj,
  cr 
)    RB_ENC_CODERANGE_SET(obj,cr)

Definition at line 106 of file encoding.h.

Referenced by rb_str_buf_append(), and rb_str_concat().

◆ ENC_CODERANGE_UNKNOWN

#define ENC_CODERANGE_UNKNOWN   RUBY_ENC_CODERANGE_UNKNOWN

◆ ENC_CODERANGE_VALID

#define ENC_CODERANGE_VALID   RUBY_ENC_CODERANGE_VALID

◆ ENCODING_CODERANGE_SET

#define ENCODING_CODERANGE_SET (   obj,
  encindex,
  cr 
)    RB_ENCODING_CODERANGE_SET(obj, encindex, cr)

Definition at line 109 of file encoding.h.

Referenced by rb_usascii_str_new(), and rb_usascii_str_new_cstr().

◆ ENCODING_GET

#define ENCODING_GET (   obj)    RB_ENCODING_GET(obj)

◆ ENCODING_GET_INLINED

#define ENCODING_GET_INLINED (   obj)    RB_ENCODING_GET_INLINED(obj)

Definition at line 57 of file encoding.h.

Referenced by rb_str_concat_literals().

◆ ENCODING_INLINE_MAX

#define ENCODING_INLINE_MAX   RUBY_ENCODING_INLINE_MAX

Definition at line 36 of file encoding.h.

◆ ENCODING_IS_ASCII8BIT

#define ENCODING_IS_ASCII8BIT (   obj)    RB_ENCODING_IS_ASCII8BIT(obj)

Definition at line 59 of file encoding.h.

Referenced by rb_reg_fragment_setenc().

◆ ENCODING_MASK

#define ENCODING_MASK   RUBY_ENCODING_MASK

Definition at line 38 of file encoding.h.

◆ ENCODING_MAXNAMELEN

#define ENCODING_MAXNAMELEN   RUBY_ENCODING_MAXNAMELEN

Definition at line 60 of file encoding.h.

◆ ENCODING_SET

#define ENCODING_SET (   obj,
 
)    RB_ENCODING_SET(obj,i)

Definition at line 56 of file encoding.h.

Referenced by rb_reg_fragment_setenc().

◆ ENCODING_SET_INLINED

#define ENCODING_SET_INLINED (   obj,
 
)    RB_ENCODING_SET_INLINED(obj,i)

Definition at line 55 of file encoding.h.

◆ ENCODING_SHIFT

#define ENCODING_SHIFT   RUBY_ENCODING_SHIFT

Definition at line 37 of file encoding.h.

◆ MBCLEN_CHARFOUND_LEN

#define MBCLEN_CHARFOUND_LEN (   ret)    ONIGENC_MBCLEN_CHARFOUND_LEN(ret)

Definition at line 186 of file encoding.h.

Referenced by rb_enc_codepoint_len(), rb_enc_mbclen(), and rb_str_encode_ospath().

◆ MBCLEN_CHARFOUND_P

#define MBCLEN_CHARFOUND_P (   ret)    ONIGENC_MBCLEN_CHARFOUND_P(ret)

◆ MBCLEN_INVALID_P

#define MBCLEN_INVALID_P (   ret)    ONIGENC_MBCLEN_INVALID_P(ret)

Definition at line 187 of file encoding.h.

◆ MBCLEN_NEEDMORE_LEN

#define MBCLEN_NEEDMORE_LEN (   ret)    ONIGENC_MBCLEN_NEEDMORE_LEN(ret)

Definition at line 189 of file encoding.h.

◆ MBCLEN_NEEDMORE_P

#define MBCLEN_NEEDMORE_P (   ret)    ONIGENC_MBCLEN_NEEDMORE_P(ret)

Definition at line 188 of file encoding.h.

◆ rb_enc_asciicompat

#define rb_enc_asciicompat (   enc)    rb_enc_asciicompat_inline(enc)

◆ rb_enc_code_to_mbclen

#define rb_enc_code_to_mbclen (   c,
  enc 
)    ONIGENC_CODE_TO_MBCLEN((enc), (c));

Definition at line 208 of file encoding.h.

◆ rb_enc_codepoint

#define rb_enc_codepoint (   p,
  e,
  enc 
)    rb_enc_codepoint_len((p),(e),0,(enc))

Definition at line 201 of file encoding.h.

Referenced by rb_str_ord().

◆ RB_ENC_CODERANGE

#define RB_ENC_CODERANGE (   obj)    ((int)RBASIC(obj)->flags & RUBY_ENC_CODERANGE_MASK)

Definition at line 78 of file encoding.h.

◆ RB_ENC_CODERANGE_AND

#define RB_ENC_CODERANGE_AND (   a,
 
)

◆ RB_ENC_CODERANGE_ASCIIONLY

#define RB_ENC_CODERANGE_ASCIIONLY (   obj)    (RB_ENC_CODERANGE(obj) == RUBY_ENC_CODERANGE_7BIT)

Definition at line 79 of file encoding.h.

◆ RB_ENC_CODERANGE_CLEAN_P

#define RB_ENC_CODERANGE_CLEAN_P (   cr)    rb_enc_coderange_clean_p(cr)

Definition at line 77 of file encoding.h.

◆ RB_ENC_CODERANGE_CLEAR

#define RB_ENC_CODERANGE_CLEAR (   obj)    RB_ENC_CODERANGE_SET((obj),0)

Definition at line 83 of file encoding.h.

◆ RB_ENC_CODERANGE_SET

#define RB_ENC_CODERANGE_SET (   obj,
  cr 
)
Value:
(\
RBASIC(obj)->flags = \
(RBASIC(obj)->flags & ~RUBY_ENC_CODERANGE_MASK) | (cr))
#define RBASIC(obj)
Definition: ruby.h:1197

Definition at line 80 of file encoding.h.

◆ rb_enc_is_newline

#define rb_enc_is_newline (   p,
  end,
  enc 
)    ONIGENC_IS_MBC_NEWLINE((enc),(UChar*)(p),(UChar*)(end))

Definition at line 221 of file encoding.h.

◆ rb_enc_isalnum

#define rb_enc_isalnum (   c,
  enc 
)    ONIGENC_IS_CODE_ALNUM((enc),(c))

Definition at line 229 of file encoding.h.

◆ rb_enc_isalpha

#define rb_enc_isalpha (   c,
  enc 
)    ONIGENC_IS_CODE_ALPHA((enc),(c))

Definition at line 225 of file encoding.h.

◆ rb_enc_isascii

#define rb_enc_isascii (   c,
  enc 
)    ONIGENC_IS_CODE_ASCII(c)

Definition at line 224 of file encoding.h.

Referenced by rb_enc_ascget().

◆ rb_enc_isctype

#define rb_enc_isctype (   c,
  t,
  enc 
)    ONIGENC_IS_CODE_CTYPE((enc),(c),(t))

Definition at line 223 of file encoding.h.

◆ rb_enc_isdigit

#define rb_enc_isdigit (   c,
  enc 
)    ONIGENC_IS_CODE_DIGIT((enc),(c))

Definition at line 232 of file encoding.h.

◆ rb_enc_islower

#define rb_enc_islower (   c,
  enc 
)    ONIGENC_IS_CODE_LOWER((enc),(c))

Definition at line 226 of file encoding.h.

◆ rb_enc_isprint

#define rb_enc_isprint (   c,
  enc 
)    ONIGENC_IS_CODE_PRINT((enc),(c))

Definition at line 230 of file encoding.h.

◆ rb_enc_ispunct

#define rb_enc_ispunct (   c,
  enc 
)    ONIGENC_IS_CODE_PUNCT((enc),(c))

Definition at line 228 of file encoding.h.

◆ rb_enc_isspace

#define rb_enc_isspace (   c,
  enc 
)    ONIGENC_IS_CODE_SPACE((enc),(c))

Definition at line 231 of file encoding.h.

◆ rb_enc_isupper

#define rb_enc_isupper (   c,
  enc 
)    ONIGENC_IS_CODE_UPPER((enc),(c))

Definition at line 227 of file encoding.h.

◆ rb_enc_left_char_head

#define rb_enc_left_char_head (   s,
  p,
  e,
  enc 
)    ((char *)onigenc_get_left_adjust_char_head((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e)))

Definition at line 216 of file encoding.h.

◆ rb_enc_mbc_to_codepoint

#define rb_enc_mbc_to_codepoint (   p,
  e,
  enc 
)    ONIGENC_MBC_TO_CODE((enc),(UChar*)(p),(UChar*)(e))

Definition at line 202 of file encoding.h.

Referenced by rb_enc_ascget(), rb_enc_codepoint_len(), and rb_str_encode_ospath().

◆ rb_enc_mbcput

#define rb_enc_mbcput (   c,
  buf,
  enc 
)    ONIGENC_CODE_TO_MBC((enc),(c),(UChar*)(buf))

Definition at line 211 of file encoding.h.

Referenced by rb_enc_uint_chr(), rb_reg_quote(), rb_str_buf_cat_ascii(), and rb_str_concat().

◆ rb_enc_mbmaxlen

#define rb_enc_mbmaxlen (   enc)    (enc)->max_enc_len

Definition at line 175 of file encoding.h.

Referenced by rb_enc_strlen_cr(), and rb_str_buf_cat_ascii().

◆ rb_enc_mbminlen

#define rb_enc_mbminlen (   enc)    (enc)->min_enc_len

◆ rb_enc_name

#define rb_enc_name (   enc)    (enc)->name

◆ rb_enc_prev_char

#define rb_enc_prev_char (   s,
  p,
  e,
  enc 
)    ((char *)onigenc_get_prev_char_head((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e)))

Definition at line 214 of file encoding.h.

◆ rb_enc_right_char_head

#define rb_enc_right_char_head (   s,
  p,
  e,
  enc 
)    ((char *)onigenc_get_right_adjust_char_head((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e)))

Definition at line 217 of file encoding.h.

◆ rb_enc_step_back

#define rb_enc_step_back (   s,
  p,
  e,
  n,
  enc 
)    ((char *)onigenc_step_back((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e),(int)(n)))

Definition at line 218 of file encoding.h.

Referenced by rb_str_ellipsize().

◆ rb_enc_str_asciicompat_p

#define rb_enc_str_asciicompat_p (   str)    rb_enc_asciicompat(rb_enc_get(str))

Definition at line 251 of file encoding.h.

◆ RB_ENCODING_CODERANGE_SET

#define RB_ENCODING_CODERANGE_SET (   obj,
  encindex,
  cr 
)
Value:
do { \
VALUE rb_encoding_coderange_obj = (obj); \
RB_ENCODING_SET(rb_encoding_coderange_obj, (encindex)); \
RB_ENC_CODERANGE_SET(rb_encoding_coderange_obj, (cr)); \
} while (0)

Definition at line 91 of file encoding.h.

◆ RB_ENCODING_GET

#define RB_ENCODING_GET (   obj)
Value:
RB_ENCODING_GET_INLINED(obj) : \
int rb_enc_get_index(VALUE obj)
Definition: encoding.c:773
#define RB_ENCODING_GET_INLINED(obj)
Definition: encoding.h:46

Definition at line 48 of file encoding.h.

◆ RB_ENCODING_GET_INLINED

#define RB_ENCODING_GET_INLINED (   obj)    (int)((RBASIC(obj)->flags & RUBY_ENCODING_MASK)>>RUBY_ENCODING_SHIFT)

Definition at line 46 of file encoding.h.

◆ RB_ENCODING_IS_ASCII8BIT

#define RB_ENCODING_IS_ASCII8BIT (   obj)    (RB_ENCODING_GET_INLINED(obj) == 0)

Definition at line 53 of file encoding.h.

◆ RB_ENCODING_SET

#define RB_ENCODING_SET (   obj,
 
)    rb_enc_set_index((obj), (i))

Definition at line 44 of file encoding.h.

◆ RB_ENCODING_SET_INLINED

#define RB_ENCODING_SET_INLINED (   obj,
 
)
Value:
do {\
RBASIC(obj)->flags &= ~RUBY_ENCODING_MASK;\
RBASIC(obj)->flags |= (VALUE)(i) << RUBY_ENCODING_SHIFT;\
} while (0)
unsigned long VALUE
Definition: ruby.h:85

Definition at line 40 of file encoding.h.

Typedef Documentation

◆ rb_econv_t

typedef struct rb_econv_t rb_econv_t

Definition at line 301 of file encoding.h.

◆ rb_encoding

Definition at line 111 of file encoding.h.

Enumeration Type Documentation

◆ rb_econv_result_t

Enumerator
econv_invalid_byte_sequence 
econv_undefined_conversion 
econv_destination_buffer_full 
econv_source_buffer_empty 
econv_finished 
econv_after_output 
econv_incomplete_input 

Definition at line 291 of file encoding.h.

◆ ruby_coderange_type

Enumerator
RUBY_ENC_CODERANGE_UNKNOWN 
RUBY_ENC_CODERANGE_7BIT 
RUBY_ENC_CODERANGE_VALID 
RUBY_ENC_CODERANGE_BROKEN 
RUBY_ENC_CODERANGE_MASK 

Definition at line 62 of file encoding.h.

◆ ruby_econv_flag_type

Enumerator
RUBY_ECONV_ERROR_HANDLER_MASK 
RUBY_ECONV_INVALID_MASK 
RUBY_ECONV_INVALID_REPLACE 
RUBY_ECONV_UNDEF_MASK 
RUBY_ECONV_UNDEF_REPLACE 
RUBY_ECONV_UNDEF_HEX_CHARREF 
RUBY_ECONV_DECORATOR_MASK 
RUBY_ECONV_NEWLINE_DECORATOR_MASK 
RUBY_ECONV_NEWLINE_DECORATOR_READ_MASK 
RUBY_ECONV_NEWLINE_DECORATOR_WRITE_MASK 
RUBY_ECONV_UNIVERSAL_NEWLINE_DECORATOR 
RUBY_ECONV_CRLF_NEWLINE_DECORATOR 
RUBY_ECONV_CR_NEWLINE_DECORATOR 
RUBY_ECONV_XML_TEXT_DECORATOR 
RUBY_ECONV_XML_ATTR_CONTENT_DECORATOR 
RUBY_ECONV_STATEFUL_DECORATOR_MASK 
RUBY_ECONV_XML_ATTR_QUOTE_DECORATOR 
RUBY_ECONV_DEFAULT_NEWLINE_DECORATOR 
RUBY_ECONV_PARTIAL_INPUT 
RUBY_ECONV_AFTER_OUTPUT 
RUBY_ECONV_FLAGS_PLACEHOLDER 

Definition at line 355 of file encoding.h.

◆ ruby_encoding_consts

Enumerator
RUBY_ENCODING_INLINE_MAX 
RUBY_ENCODING_SHIFT 
RUBY_ENCODING_MASK 
RUBY_ENCODING_MAXNAMELEN 

Definition at line 28 of file encoding.h.

Function Documentation

◆ CONSTFUNC() [1/2]

CONSTFUNC ( int   rb_enc_toupperint c, rb_encoding *enc)

◆ CONSTFUNC() [2/2]

CONSTFUNC ( int   rb_ascii8bit_encindexvoid)

◆ PRINTF_ARGS() [1/2]

PRINTF_ARGS ( VALUE   rb_enc_sprintfrb_encoding *, const char *,...,
,
 
)

◆ PRINTF_ARGS() [2/2]

PRINTF_ARGS ( NORETURN(void rb_enc_raise(rb_encoding *, VALUE, const char *,...))  ,
,
 
)

◆ PUREFUNC()

PUREFUNC ( int   rb_enc_dummy_prb_encoding *enc)

◆ rb_ascii8bit_encoding()

rb_encoding* rb_ascii8bit_encoding ( void  )

◆ rb_char_to_option_kcode()

int rb_char_to_option_kcode ( int  c,
int *  option,
int *  kcode 
)

◆ rb_check_id_cstr()

ID rb_check_id_cstr ( const char *  ptr,
long  len,
rb_encoding enc 
)

Definition at line 984 of file symbol.c.

References rb_setup_fake_str().

Referenced by rb_deprecate_constant(), and rb_path_to_class().

◆ rb_check_symbol_cstr()

VALUE rb_check_symbol_cstr ( const char *  ptr,
long  len,
rb_encoding enc 
)

Definition at line 995 of file symbol.c.

References rb_setup_fake_str(), and sym.

◆ rb_default_external_encoding()

rb_encoding* rb_default_external_encoding ( void  )

◆ rb_default_internal_encoding()

rb_encoding* rb_default_internal_encoding ( void  )

◆ rb_define_dummy_encoding()

int rb_define_dummy_encoding ( const char *  )

Definition at line 466 of file encoding.c.

References rb_ascii8bit_encoding(), and rb_enc_replicate().

◆ rb_econv_append()

VALUE rb_econv_append ( rb_econv_t ec,
const char *  bytesrc,
long  bytesize,
VALUE  dst,
int  flags 
)

◆ rb_econv_asciicompat_encoding()

const char* rb_econv_asciicompat_encoding ( const char *  encname)

◆ rb_econv_binmode()

void rb_econv_binmode ( rb_econv_t ec)

◆ rb_econv_check_error()

void rb_econv_check_error ( rb_econv_t ec)

Definition at line 4231 of file transcode.c.

Referenced by rb_econv_append().

◆ rb_econv_close()

void rb_econv_close ( rb_econv_t ec)

◆ rb_econv_convert()

rb_econv_result_t rb_econv_convert ( rb_econv_t ec,
const unsigned char **  source_buffer_ptr,
const unsigned char *  source_buffer_end,
unsigned char **  destination_buffer_ptr,
unsigned char *  destination_buffer_end,
int  flags 
)

Definition at line 1442 of file transcode.c.

References rb_econv_t::started.

Referenced by rb_econv_append().

◆ rb_econv_decorate_at_first()

int rb_econv_decorate_at_first ( rb_econv_t ec,
const char *  decorator_name 
)

Definition at line 1905 of file transcode.c.

References rb_econv_t::num_trans.

◆ rb_econv_decorate_at_last()

int rb_econv_decorate_at_last ( rb_econv_t ec,
const char *  decorator_name 
)

Definition at line 1922 of file transcode.c.

References rb_econv_t::num_trans.

◆ rb_econv_encoding_to_insert_output()

const char* rb_econv_encoding_to_insert_output ( rb_econv_t ec)

◆ rb_econv_has_convpath_p()

int rb_econv_has_convpath_p ( const char *  from_encoding,
const char *  to_encoding 
)

Definition at line 3172 of file transcode.c.

References Qnil.

◆ rb_econv_insert_output()

int rb_econv_insert_output ( rb_econv_t ec,
const unsigned char *  str,
size_t  len,
const char *  str_encoding 
)

◆ rb_econv_make_exception()

VALUE rb_econv_make_exception ( rb_econv_t ec)

Definition at line 4225 of file transcode.c.

◆ rb_econv_open()

rb_econv_t* rb_econv_open ( const char *  source_encoding,
const char *  destination_encoding,
int  ecflags 
)

Definition at line 1063 of file transcode.c.

References MAX_ECFLAGS_DECORATORS.

◆ rb_econv_open_exc()

VALUE rb_econv_open_exc ( const char *  senc,
const char *  denc,
int  ecflags 
)

Definition at line 2033 of file transcode.c.

References rb_str_new_cstr().

◆ rb_econv_open_opts()

rb_econv_t* rb_econv_open_opts ( const char *  source_encoding,
const char *  destination_encoding,
int  ecflags,
VALUE  ecopts 
)

Definition at line 2575 of file transcode.c.

References NIL_P, OBJ_FROZEN, Qnil, rb_bug(), rb_hash_aref(), RB_TYPE_P, and T_HASH.

◆ rb_econv_prepare_options()

int rb_econv_prepare_options ( VALUE  opthash,
VALUE ecopts,
int  ecflags 
)

Definition at line 2524 of file transcode.c.

References NIL_P, and Qnil.

Referenced by rb_econv_prepare_opts().

◆ rb_econv_prepare_opts()

int rb_econv_prepare_opts ( VALUE  opthash,
VALUE ecopts 
)

Definition at line 2569 of file transcode.c.

References rb_econv_prepare_options().

◆ rb_econv_putback()

void rb_econv_putback ( rb_econv_t ec,
unsigned char *  p,
int  n 
)

◆ rb_econv_putbackable()

int rb_econv_putbackable ( rb_econv_t ec)

◆ rb_econv_set_replacement()

int rb_econv_set_replacement ( rb_econv_t ec,
const unsigned char *  str,
size_t  len,
const char *  encname 
)

Definition at line 2195 of file transcode.c.

References encoding_equal, len, MEMCPY, rb_econv_encoding_to_insert_output(), and xmalloc.

◆ rb_econv_str_append()

VALUE rb_econv_str_append ( rb_econv_t ec,
VALUE  src,
VALUE  dst,
int  flags 
)

Definition at line 1862 of file transcode.c.

References rb_econv_substr_append(), and RSTRING_LEN.

◆ rb_econv_str_convert()

VALUE rb_econv_str_convert ( rb_econv_t ec,
VALUE  src,
int  flags 
)

Definition at line 1874 of file transcode.c.

References Qnil, rb_econv_substr_append(), and RSTRING_LEN.

◆ rb_econv_substr_append()

VALUE rb_econv_substr_append ( rb_econv_t ec,
VALUE  src,
long  byteoff,
long  bytesize,
VALUE  dst,
int  flags 
)

◆ rb_econv_substr_convert()

VALUE rb_econv_substr_convert ( rb_econv_t ec,
VALUE  src,
long  byteoff,
long  bytesize,
int  flags 
)

Definition at line 1868 of file transcode.c.

References Qnil, and rb_econv_substr_append().

◆ rb_enc_ascget()

int rb_enc_ascget ( const char *  p,
const char *  e,
int *  len,
rb_encoding enc 
)

◆ rb_enc_associate()

VALUE rb_enc_associate ( VALUE  ,
rb_encoding  
)

◆ rb_enc_associate_index()

VALUE rb_enc_associate_index ( VALUE  ,
int   
)

◆ rb_enc_casefold()

int rb_enc_casefold ( char *  to,
const char *  p,
const char *  e,
rb_encoding enc 
)

◆ rb_enc_check()

rb_encoding* rb_enc_check ( VALUE  ,
VALUE   
)

◆ rb_enc_code_to_mbclen()

int rb_enc_code_to_mbclen ( int  code,
rb_encoding enc 
)

Definition at line 1088 of file encoding.c.

References ONIGENC_CODE_TO_MBCLEN.

◆ rb_enc_codelen()

int rb_enc_codelen ( int  code,
rb_encoding enc 
)

◆ rb_enc_codepoint()

unsigned int rb_enc_codepoint ( const char *  p,
const char *  e,
rb_encoding enc 
)

Definition at line 1071 of file encoding.c.

References rb_enc_codepoint_len().

◆ rb_enc_codepoint_len()

unsigned int rb_enc_codepoint_len ( const char *  p,
const char *  e,
int *  len,
rb_encoding enc 
)

◆ rb_enc_compatible()

rb_encoding* rb_enc_compatible ( VALUE  ,
VALUE   
)

Definition at line 962 of file encoding.c.

References rb_enc_from_index(), and rb_enc_get_index().

Referenced by rb_enc_check().

◆ rb_enc_copy()

void rb_enc_copy ( VALUE  dst,
VALUE  src 
)

◆ rb_enc_default_external()

VALUE rb_enc_default_external ( void  )

Definition at line 1439 of file encoding.c.

References rb_default_external_encoding(), and rb_enc_from_encoding().

◆ rb_enc_default_internal()

VALUE rb_enc_default_internal ( void  )

Definition at line 1519 of file encoding.c.

References rb_default_internal_encoding(), and rb_enc_from_encoding().

◆ rb_enc_fast_mbclen()

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

Definition at line 1002 of file encoding.c.

References ONIGENC_MBC_ENC_LEN, and UChar.

◆ rb_enc_find()

rb_encoding* rb_enc_find ( const char *  name)

Definition at line 728 of file encoding.c.

References rb_enc_find_index(), and rb_enc_from_index().

◆ rb_enc_find_index()

int rb_enc_find_index ( const char *  name)

◆ rb_enc_from_encoding()

VALUE rb_enc_from_encoding ( rb_encoding enc)

◆ rb_enc_from_index()

rb_encoding* rb_enc_from_index ( int  idx)

◆ rb_enc_get()

rb_encoding* rb_enc_get ( VALUE  )

◆ rb_enc_get_index()

int rb_enc_get_index ( VALUE  obj)

◆ rb_enc_mbclen()

int rb_enc_mbclen ( const char *  p,
const char *  e,
rb_encoding enc 
)

◆ rb_enc_nth()

char* rb_enc_nth ( const char *  ,
const char *  ,
long  ,
rb_encoding  
)

Definition at line 2320 of file string.c.

Referenced by rb_str_ellipsize().

◆ rb_enc_path_end()

char* rb_enc_path_end ( const char *  ,
const char *  ,
rb_encoding  
)

Definition at line 3191 of file file.c.

References isdirsep.

◆ rb_enc_path_last_separator()

char* rb_enc_path_last_separator ( const char *  ,
const char *  ,
rb_encoding  
)

Definition at line 3157 of file file.c.

References Inc, isdirsep, last, and NULL.

◆ rb_enc_path_next()

char* rb_enc_path_next ( const char *  ,
const char *  ,
rb_encoding  
)

Definition at line 3109 of file file.c.

References Inc, and isdirsep.

Referenced by rb_enc_path_skip_prefix().

◆ rb_enc_path_skip_prefix()

char* rb_enc_path_skip_prefix ( const char *  ,
const char *  ,
rb_encoding  
)

Definition at line 3123 of file file.c.

References isdirsep, and rb_enc_path_next().

◆ rb_enc_precise_mbclen()

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

◆ rb_enc_reg_new()

VALUE rb_enc_reg_new ( const char *  ,
long  ,
rb_encoding ,
int   
)

Definition at line 2899 of file re.c.

◆ rb_enc_replicate()

int rb_enc_replicate ( const char *  ,
rb_encoding  
)

Definition at line 409 of file encoding.c.

Referenced by rb_define_dummy_encoding().

◆ rb_enc_set_default_external()

void rb_enc_set_default_external ( VALUE  encoding)

Definition at line 1477 of file encoding.c.

References NIL_P, rb_eArgError, and rb_raise().

◆ rb_enc_set_default_internal()

void rb_enc_set_default_internal ( VALUE  encoding)

Definition at line 1561 of file encoding.c.

◆ rb_enc_set_index()

void rb_enc_set_index ( VALUE  obj,
int  encindex 
)

Definition at line 818 of file encoding.c.

References rb_check_frozen.

Referenced by rb_str_concat_literals().

◆ rb_enc_str_asciionly_p()

int rb_enc_str_asciionly_p ( VALUE  )

Definition at line 641 of file string.c.

References ENC_CODERANGE_7BIT, FALSE, rb_enc_asciicompat, rb_enc_str_coderange(), STR_ENC_GET, and TRUE.

Referenced by rb_inspect(), and rb_reg_quote().

◆ rb_enc_str_buf_cat()

VALUE rb_enc_str_buf_cat ( VALUE  str,
const char *  ptr,
long  len,
rb_encoding enc 
)

Definition at line 2853 of file string.c.

References ENC_CODERANGE_UNKNOWN, NULL, and rb_enc_to_index().

Referenced by rb_reg_regsub().

◆ rb_enc_str_coderange()

int rb_enc_str_coderange ( VALUE  )

◆ rb_enc_str_new()

VALUE rb_enc_str_new ( const char *  ,
long  ,
rb_encoding  
)

Definition at line 759 of file string.c.

References rb_str_new().

Referenced by rb_enc_uint_chr(), rb_syntax_error_append(), and rb_w32_conv_from_wchar().

◆ rb_enc_str_new_cstr()

VALUE rb_enc_str_new_cstr ( const char *  ,
rb_encoding  
)

Definition at line 794 of file string.c.

◆ rb_enc_str_new_static()

VALUE rb_enc_str_new_static ( const char *  ,
long  ,
rb_encoding  
)

Definition at line 848 of file string.c.

◆ rb_enc_strlen()

long rb_enc_strlen ( const char *  ,
const char *  ,
rb_encoding  
)

Definition at line 1700 of file string.c.

◆ rb_enc_symname2_p()

int rb_enc_symname2_p ( const char *  ,
long  ,
rb_encoding  
)

Definition at line 311 of file symbol.c.

Referenced by rb_enc_symname_p().

◆ rb_enc_symname_p()

int rb_enc_symname_p ( const char *  ,
rb_encoding  
)

Definition at line 196 of file symbol.c.

References rb_enc_symname2_p(), and strlen().

Referenced by rb_symname_p().

◆ rb_enc_uint_chr()

VALUE rb_enc_uint_chr ( unsigned int  code,
rb_encoding enc 
)

◆ rb_enc_vsprintf()

VALUE rb_enc_vsprintf ( rb_encoding ,
const char *  ,
va_list   
)

Definition at line 1400 of file sprintf.c.

Referenced by rb_enc_raise(), rb_loaderror(), rb_loaderror_with_path(), and rb_vsprintf().

◆ rb_external_str_new_with_enc()

VALUE rb_external_str_new_with_enc ( const char *  ptr,
long  len,
rb_encoding  
)

◆ rb_filesystem_encindex()

int rb_filesystem_encindex ( void  )

Definition at line 1376 of file encoding.c.

References ENCINDEX_ASCII, and rb_enc_registered().

Referenced by rb_filesystem_encoding(), and rb_str_encode_ospath().

◆ rb_filesystem_encoding()

rb_encoding* rb_filesystem_encoding ( void  )

◆ rb_find_encoding()

rb_encoding* rb_find_encoding ( VALUE  )

Definition at line 253 of file encoding.c.

◆ rb_intern3()

ID rb_intern3 ( const char *  ,
long  ,
rb_encoding  
)

Definition at line 554 of file symbol.c.

References OBJ_FREEZE, rb_setup_fake_str(), and sym.

Referenced by rb_intern2().

◆ rb_interned_id_p()

ID rb_interned_id_p ( const char *  ,
long  ,
rb_encoding  
)

◆ rb_locale_charmap()

VALUE rb_locale_charmap ( VALUE  klass)

Definition at line 90 of file localeinit.c.

References name, Qnil, rb_enc_find_index(), and rb_usascii_str_new_cstr().

◆ rb_locale_encindex()

int rb_locale_encindex ( void  )

◆ rb_locale_encoding()

rb_encoding* rb_locale_encoding ( void  )

◆ rb_memsearch()

long rb_memsearch ( const void *  ,
long  ,
const void *  ,
long  ,
rb_encoding  
)

Definition at line 244 of file re.c.

References LIKELY, memcmp(), rb_enc_mbminlen, and SIZEOF_VALUE.

◆ rb_obj_encoding()

VALUE rb_obj_encoding ( VALUE  )

Definition at line 992 of file encoding.c.

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

◆ rb_str_coderange_scan_restartable()

long rb_str_coderange_scan_restartable ( const char *  ,
const char *  ,
rb_encoding ,
int *   
)

◆ rb_str_conv_enc()

VALUE rb_str_conv_enc ( VALUE  str,
rb_encoding from,
rb_encoding to 
)

◆ rb_str_conv_enc_opts()

VALUE rb_str_conv_enc_opts ( VALUE  str,
rb_encoding from,
rb_encoding to,
int  ecflags,
VALUE  ecopts 
)

◆ rb_str_encode()

VALUE rb_str_encode ( VALUE  str,
VALUE  to,
int  ecflags,
VALUE  ecopts 
)

Definition at line 2884 of file transcode.c.

Referenced by rb_str_ellipsize().

◆ rb_str_export_to_enc()

VALUE rb_str_export_to_enc ( VALUE  ,
rb_encoding  
)

Definition at line 1103 of file string.c.

References rb_str_conv_enc(), and STR_ENC_GET.

◆ rb_to_encoding()

rb_encoding* rb_to_encoding ( VALUE  )

Definition at line 246 of file encoding.c.

◆ rb_to_encoding_index()

int rb_to_encoding_index ( VALUE  )

Definition at line 198 of file encoding.c.

◆ rb_usascii_encoding()

rb_encoding* rb_usascii_encoding ( void  )

Definition at line 1335 of file encoding.c.

Referenced by rb_intern2(), rb_reg_fragment_setenc(), rb_reg_quote(), and rb_sym_intern_ascii().

◆ rb_utf8_encoding()

rb_encoding* rb_utf8_encoding ( void  )

Definition at line 1320 of file encoding.c.

Referenced by rb_str_encode_ospath().

◆ ruby_enc_find_basename()

const char* ruby_enc_find_basename ( const char *  name,
long *  baselen,
long *  alllen,
rb_encoding enc 
)

Definition at line 4172 of file file.c.

References f, isdirsep, name, skipprefix, strlen(), and strrdirsep.

◆ ruby_enc_find_extname()

const char* ruby_enc_find_extname ( const char *  name,
long *  len,
rb_encoding enc 
)

Definition at line 4372 of file file.c.

References Inc, isADS, isdirsep, istrailinggarbage, last, len, name, strlen(), and strrdirsep.

Variable Documentation

◆ rb_cEncoding

RUBY_EXTERN VALUE rb_cEncoding

Definition at line 287 of file encoding.h.