Ruby 1.9.3p327(2012-11-10revision37606)
Data Structures | Defines | Typedefs | Enumerations | Functions | Variables
string.c File Reference
#include "ruby/ruby.h"
#include "ruby/re.h"
#include "ruby/encoding.h"
#include "internal.h"
#include <assert.h>
#include <math.h>
#include <ctype.h>
Include dependency graph for string.c:

Go to the source code of this file.

Data Structures

struct  tr

Defines

#define BEG(no)   (regs->beg[(no)])
#define END(no)   (regs->end[(no)])
#define numberof(array)   (int)(sizeof(array) / sizeof((array)[0]))
#define RUBY_MAX_CHAR_LEN   16
#define STR_TMPLOCK   FL_USER7
#define STR_NOEMBED   FL_USER1
#define STR_SHARED   FL_USER2
#define STR_ASSOC   FL_USER3
#define STR_SHARED_P(s)   FL_ALL((s), STR_NOEMBED|ELTS_SHARED)
#define STR_ASSOC_P(s)   FL_ALL((s), STR_NOEMBED|STR_ASSOC)
#define STR_NOCAPA   (STR_NOEMBED|ELTS_SHARED|STR_ASSOC)
#define STR_NOCAPA_P(s)   (FL_TEST((s),STR_NOEMBED) && FL_ANY((s),ELTS_SHARED|STR_ASSOC))
#define STR_UNSET_NOCAPA(s)
#define STR_SET_NOEMBED(str)
#define STR_SET_EMBED(str)   FL_UNSET((str), STR_NOEMBED)
#define STR_EMBED_P(str)   (!FL_TEST((str), STR_NOEMBED))
#define STR_SET_EMBED_LEN(str, n)
#define STR_SET_LEN(str, n)
#define STR_DEC_LEN(str)
#define RESIZE_CAPA(str, capacity)
#define is_ascii_string(str)   (rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT)
#define is_broken_string(str)   (rb_enc_str_coderange(str) == ENC_CODERANGE_BROKEN)
#define STR_ENC_GET(str)   rb_enc_from_index(ENCODING_GET(str))
#define rb_str_new2   rb_str_new_cstr
#define rb_usascii_str_new2   rb_usascii_str_new_cstr
#define rb_tainted_str_new2   rb_tainted_str_new_cstr
#define rb_str_new3   rb_str_new_shared
#define rb_str_new4   rb_str_new_frozen
#define rb_str_new5   rb_str_new_with_class
#define STR_BUF_MIN_SIZE   128
#define rb_str_buf_new2   rb_str_buf_new_cstr
#define str_make_independent(str)   str_make_independent_expand((str), 0L)
#define rb_str_dup_frozen   rb_str_new_frozen
#define str_buf_cat2(str, ptr)   str_buf_cat((str), (ptr), strlen(ptr))
#define lesser(a, b)   (((a)>(b))?(b):(a))
#define CHAR_ESC_LEN   13
#define IS_EVSTR(p, e)   ((p) < (e) && (*(p) == '$' || *(p) == '@' || *(p) == '{'))
#define CHECK_IF_ASCII(c)
#define TR_TABLE_SIZE   257
#define ascii_isspace(c)   isspacetable[(unsigned char)(c)]
#define rb_intern(str)   rb_intern_const(str)

Typedefs

typedef unsigned char * USTR

Enumerations

enum  neighbor_char { NEIGHBOR_NOT_CHAR, NEIGHBOR_FOUND, NEIGHBOR_WRAPPED }

Functions

static VALUE rb_str_clear (VALUE str)
static int single_byte_optimizable (VALUE str)
static const char * search_nonascii (const char *p, const char *e)
static int coderange_scan (const char *p, long len, rb_encoding *enc)
long rb_str_coderange_scan_restartable (const char *s, const char *e, rb_encoding *enc, int *cr)
static void str_enc_copy (VALUE str1, VALUE str2)
static void rb_enc_cr_str_copy_for_substr (VALUE dest, VALUE src)
static void rb_enc_cr_str_exact_copy (VALUE dest, VALUE src)
int rb_enc_str_coderange (VALUE str)
int rb_enc_str_asciionly_p (VALUE str)
static void str_mod_check (VALUE s, const char *p, long len)
size_t rb_str_capacity (VALUE str)
static VALUE str_alloc (VALUE klass)
static VALUE str_new (VALUE klass, const char *ptr, long len)
VALUE rb_str_new (const char *ptr, long len)
VALUE rb_usascii_str_new (const char *ptr, long len)
VALUE rb_enc_str_new (const char *ptr, long len, rb_encoding *enc)
VALUE rb_str_new_cstr (const char *ptr)
 RUBY_ALIAS_FUNCTION (rb_str_new2(const char *ptr), rb_str_new_cstr,(ptr))
 RUBY_ALIAS_FUNCTION (rb_usascii_str_new2(const char *ptr), rb_usascii_str_new_cstr,(ptr))
VALUE rb_tainted_str_new_cstr (const char *ptr)
 RUBY_ALIAS_FUNCTION (rb_tainted_str_new2(const char *ptr), rb_tainted_str_new_cstr,(ptr))
VALUE rb_str_conv_enc (VALUE str, rb_encoding *from, rb_encoding *to)
VALUE rb_external_str_new_with_enc (const char *ptr, long len, rb_encoding *eenc)
VALUE rb_external_str_new (const char *ptr, long len)
VALUE rb_external_str_new_cstr (const char *ptr)
VALUE rb_locale_str_new (const char *ptr, long len)
VALUE rb_locale_str_new_cstr (const char *ptr)
VALUE rb_filesystem_str_new (const char *ptr, long len)
VALUE rb_filesystem_str_new_cstr (const char *ptr)
VALUE rb_str_export (VALUE str)
VALUE rb_str_export_locale (VALUE str)
VALUE rb_str_export_to_enc (VALUE str, rb_encoding *enc)
static VALUE str_replace_shared (VALUE str2, VALUE str)
static VALUE str_new_shared (VALUE klass, VALUE str)
static VALUE str_new3 (VALUE klass, VALUE str)
VALUE rb_str_new_shared (VALUE str)
 RUBY_ALIAS_FUNCTION (rb_str_new3(VALUE str), rb_str_new_shared,(str))
VALUE rb_str_new_frozen (VALUE orig)
 RUBY_ALIAS_FUNCTION (rb_str_new4(VALUE orig), rb_str_new_frozen,(orig))
 RUBY_ALIAS_FUNCTION (rb_str_new5(VALUE obj, const char *ptr, long len), rb_str_new_with_class,(obj, ptr, len))
VALUE rb_str_buf_new (long capa)
VALUE rb_str_buf_new_cstr (const char *ptr)
 RUBY_ALIAS_FUNCTION (rb_str_buf_new2(const char *ptr), rb_str_buf_new_cstr,(ptr))
void * rb_alloc_tmp_buffer (volatile VALUE *store, long len)
void rb_free_tmp_buffer (volatile VALUE *store)
void rb_str_free (VALUE str)
RUBY_FUNC_EXPORTED size_t rb_str_memsize (VALUE str)
VALUE rb_str_to_str (VALUE str)
static void str_discard (VALUE str)
void rb_str_shared_replace (VALUE str, VALUE str2)
VALUE rb_obj_as_string (VALUE obj)
static VALUE str_replace (VALUE str, VALUE str2)
static VALUE str_duplicate (VALUE klass, VALUE str)
VALUE rb_str_dup (VALUE str)
VALUE rb_str_resurrect (VALUE str)
static VALUE rb_str_init (int argc, VALUE *argv, VALUE str)
static long enc_strlen (const char *p, const char *e, rb_encoding *enc, int cr)
long rb_enc_strlen (const char *p, const char *e, rb_encoding *enc)
long rb_enc_strlen_cr (const char *p, const char *e, rb_encoding *enc, int *cr)
static long str_strlen (VALUE str, rb_encoding *enc)
long rb_str_strlen (VALUE str)
VALUE rb_str_length (VALUE str)
static VALUE rb_str_bytesize (VALUE str)
static VALUE rb_str_empty (VALUE str)
VALUE rb_str_plus (VALUE str1, VALUE str2)
VALUE rb_str_times (VALUE str, VALUE times)
static VALUE rb_str_format_m (VALUE str, VALUE arg)
static void str_modifiable (VALUE str)
static int str_independent (VALUE str)
static void str_make_independent_expand (VALUE str, long expand)
void rb_str_modify (VALUE str)
void rb_str_modify_expand (VALUE str, long expand)
static void str_modify_keep_cr (VALUE str)
void rb_str_associate (VALUE str, VALUE add)
VALUE rb_str_associated (VALUE str)
VALUE rb_string_value (volatile VALUE *ptr)
char * rb_string_value_ptr (volatile VALUE *ptr)
char * rb_string_value_cstr (volatile VALUE *ptr)
VALUE rb_check_string_type (VALUE str)
static VALUE rb_str_s_try_convert (VALUE dummy, VALUE str)
static char * str_nth_len (const char *p, const char *e, long *nthp, rb_encoding *enc)
char * rb_enc_nth (const char *p, const char *e, long nth, rb_encoding *enc)
static char * str_nth (const char *p, const char *e, long nth, rb_encoding *enc, int singlebyte)
static long str_offset (const char *p, const char *e, long nth, rb_encoding *enc, int singlebyte)
long rb_str_offset (VALUE str, long pos)
long rb_str_sublen (VALUE str, long pos)
VALUE rb_str_subseq (VALUE str, long beg, long len)
VALUE rb_str_substr (VALUE str, long beg, long len)
VALUE rb_str_freeze (VALUE str)
 RUBY_ALIAS_FUNCTION (rb_str_dup_frozen(VALUE str), rb_str_new_frozen,(str))
VALUE rb_str_unlocktmp (VALUE str)
void rb_str_set_len (VALUE str, long len)
VALUE rb_str_resize (VALUE str, long len)
static VALUE str_buf_cat (VALUE str, const char *ptr, long len)
VALUE rb_str_buf_cat (VALUE str, const char *ptr, long len)
VALUE rb_str_buf_cat2 (VALUE str, const char *ptr)
VALUE rb_str_cat (VALUE str, const char *ptr, long len)
VALUE rb_str_cat2 (VALUE str, const char *ptr)
static VALUE rb_enc_cr_str_buf_cat (VALUE str, const char *ptr, long len, int ptr_encindex, int ptr_cr, int *ptr_cr_ret)
VALUE rb_enc_str_buf_cat (VALUE str, const char *ptr, long len, rb_encoding *ptr_enc)
VALUE rb_str_buf_cat_ascii (VALUE str, const char *ptr)
VALUE rb_str_buf_append (VALUE str, VALUE str2)
VALUE rb_str_append (VALUE str, VALUE str2)
VALUE rb_str_concat (VALUE str1, VALUE str2)
static VALUE rb_str_prepend (VALUE str, VALUE str2)
st_index_t rb_str_hash (VALUE str)
int rb_str_hash_cmp (VALUE str1, VALUE str2)
static VALUE rb_str_hash_m (VALUE str)
int rb_str_comparable (VALUE str1, VALUE str2)
int rb_str_cmp (VALUE str1, VALUE str2)
static VALUE str_eql (const VALUE str1, const VALUE str2)
VALUE rb_str_equal (VALUE str1, VALUE str2)
static VALUE rb_str_eql (VALUE str1, VALUE str2)
static VALUE rb_str_cmp_m (VALUE str1, VALUE str2)
static VALUE rb_str_casecmp (VALUE str1, VALUE str2)
static long rb_str_index (VALUE str, VALUE sub, long offset)
static VALUE rb_str_index_m (int argc, VALUE *argv, VALUE str)
static long rb_str_rindex (VALUE str, VALUE sub, long pos)
static VALUE rb_str_rindex_m (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_match (VALUE x, VALUE y)
static VALUE get_pat (VALUE, int)
static VALUE rb_str_match_m (int argc, VALUE *argv, VALUE str)
static enum neighbor_char enc_succ_char (char *p, long len, rb_encoding *enc)
static enum neighbor_char enc_pred_char (char *p, long len, rb_encoding *enc)
static enum neighbor_char enc_succ_alnum_char (char *p, long len, rb_encoding *enc, char *carry)
VALUE rb_str_succ (VALUE orig)
static VALUE rb_str_succ_bang (VALUE str)
static VALUE rb_str_upto (int argc, VALUE *argv, VALUE beg)
static VALUE rb_str_subpat (VALUE str, VALUE re, VALUE backref)
static VALUE rb_str_aref (VALUE str, VALUE indx)
static VALUE rb_str_aref_m (int argc, VALUE *argv, VALUE str)
VALUE rb_str_drop_bytes (VALUE str, long len)
static void rb_str_splice_0 (VALUE str, long beg, long len, VALUE val)
static void rb_str_splice (VALUE str, long beg, long len, VALUE val)
void rb_str_update (VALUE str, long beg, long len, VALUE val)
static void rb_str_subpat_set (VALUE str, VALUE re, VALUE backref, VALUE val)
static VALUE rb_str_aset (VALUE str, VALUE indx, VALUE val)
static VALUE rb_str_aset_m (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_insert (VALUE str, VALUE idx, VALUE str2)
static VALUE rb_str_slice_bang (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_sub_bang (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_sub (int argc, VALUE *argv, VALUE str)
static VALUE str_gsub (int argc, VALUE *argv, VALUE str, int bang)
static VALUE rb_str_gsub_bang (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_gsub (int argc, VALUE *argv, VALUE str)
VALUE rb_str_replace (VALUE str, VALUE str2)
static VALUE rb_str_chr (VALUE str)
static VALUE rb_str_getbyte (VALUE str, VALUE index)
static VALUE rb_str_setbyte (VALUE str, VALUE index, VALUE value)
static VALUE str_byte_substr (VALUE str, long beg, long len)
static VALUE str_byte_aref (VALUE str, VALUE indx)
static VALUE rb_str_byteslice (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_reverse (VALUE str)
static VALUE rb_str_reverse_bang (VALUE str)
static VALUE rb_str_include (VALUE str, VALUE arg)
static VALUE rb_str_to_i (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_to_f (VALUE str)
static VALUE rb_str_to_s (VALUE str)
int rb_str_buf_cat_escaped_char (VALUE result, unsigned int c, int unicode_p)
VALUE rb_str_inspect (VALUE str)
VALUE rb_str_dump (VALUE str)
static void rb_str_check_dummy_enc (rb_encoding *enc)
static VALUE rb_str_upcase_bang (VALUE str)
static VALUE rb_str_upcase (VALUE str)
static VALUE rb_str_downcase_bang (VALUE str)
static VALUE rb_str_downcase (VALUE str)
static VALUE rb_str_capitalize_bang (VALUE str)
static VALUE rb_str_capitalize (VALUE str)
static VALUE rb_str_swapcase_bang (VALUE str)
static VALUE rb_str_swapcase (VALUE str)
static unsigned int trnext (struct tr *t, rb_encoding *enc)
static VALUE rb_str_delete_bang (int, VALUE *, VALUE)
static VALUE tr_trans (VALUE str, VALUE src, VALUE repl, int sflag)
static VALUE rb_str_tr_bang (VALUE str, VALUE src, VALUE repl)
static VALUE rb_str_tr (VALUE str, VALUE src, VALUE repl)
static void tr_setup_table (VALUE str, char stable[TR_TABLE_SIZE], int first, VALUE *tablep, VALUE *ctablep, rb_encoding *enc)
static int tr_find (unsigned int c, char table[TR_TABLE_SIZE], VALUE del, VALUE nodel)
static VALUE rb_str_delete (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_squeeze_bang (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_squeeze (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_tr_s_bang (VALUE str, VALUE src, VALUE repl)
static VALUE rb_str_tr_s (VALUE str, VALUE src, VALUE repl)
static VALUE rb_str_count (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_split_m (int argc, VALUE *argv, VALUE str)
VALUE rb_str_split (VALUE str, const char *sep0)
static VALUE rb_str_each_line (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_each_byte (VALUE str)
static VALUE rb_str_each_char (VALUE str)
static VALUE rb_str_each_codepoint (VALUE str)
static long chopped_length (VALUE str)
static VALUE rb_str_chop_bang (VALUE str)
static VALUE rb_str_chop (VALUE str)
static VALUE rb_str_chomp_bang (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_chomp (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_lstrip_bang (VALUE str)
static VALUE rb_str_lstrip (VALUE str)
static VALUE rb_str_rstrip_bang (VALUE str)
static VALUE rb_str_rstrip (VALUE str)
static VALUE rb_str_strip_bang (VALUE str)
static VALUE rb_str_strip (VALUE str)
static VALUE scan_once (VALUE str, VALUE pat, long *start)
static VALUE rb_str_scan (VALUE str, VALUE pat)
static VALUE rb_str_hex (VALUE str)
static VALUE rb_str_oct (VALUE str)
static VALUE rb_str_crypt (VALUE str, VALUE salt)
VALUE rb_str_intern (VALUE s)
VALUE rb_str_ord (VALUE s)
static VALUE rb_str_sum (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_justify (int argc, VALUE *argv, VALUE str, char jflag)
static VALUE rb_str_ljust (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_rjust (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_center (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_partition (VALUE str, VALUE sep)
static VALUE rb_str_rpartition (VALUE str, VALUE sep)
static VALUE rb_str_start_with (int argc, VALUE *argv, VALUE str)
static VALUE rb_str_end_with (int argc, VALUE *argv, VALUE str)
void rb_str_setter (VALUE val, ID id, VALUE *var)
static VALUE rb_str_force_encoding (VALUE str, VALUE enc)
static VALUE rb_str_valid_encoding_p (VALUE str)
static VALUE rb_str_is_ascii_only_p (VALUE str)
VALUE rb_str_ellipsize (VALUE str, long len)
 Shortens _str_ and adds three dots, an ellipsis, if it is longer than _len_ characters.
static VALUE sym_equal (VALUE sym1, VALUE sym2)
static int sym_printable (const char *s, const char *send, rb_encoding *enc)
static VALUE sym_inspect (VALUE sym)
VALUE rb_sym_to_s (VALUE sym)
static VALUE sym_to_sym (VALUE sym)
static VALUE sym_call (VALUE args, VALUE sym, int argc, VALUE *argv)
static VALUE sym_to_proc (VALUE sym)
static VALUE sym_succ (VALUE sym)
static VALUE sym_cmp (VALUE sym, VALUE other)
static VALUE sym_casecmp (VALUE sym, VALUE other)
static VALUE sym_match (VALUE sym, VALUE other)
static VALUE sym_aref (int argc, VALUE *argv, VALUE sym)
static VALUE sym_length (VALUE sym)
static VALUE sym_empty (VALUE sym)
static VALUE sym_upcase (VALUE sym)
static VALUE sym_downcase (VALUE sym)
static VALUE sym_capitalize (VALUE sym)
static VALUE sym_swapcase (VALUE sym)
static VALUE sym_encoding (VALUE sym)
ID rb_to_id (VALUE name)
void Init_String (void)

Variables

VALUE rb_cString
VALUE rb_cSymbol
VALUE rb_fs
static ID id_to_s
static const char isspacetable [256]

Define Documentation

#define ascii_isspace (   c)    isspacetable[(unsigned char)(c)]

Definition at line 5703 of file string.c.

Referenced by rb_str_rstrip_bang(), and rb_str_split_m().

#define BEG (   no)    (regs->beg[(no)])

Definition at line 20 of file string.c.

Referenced by rb_str_split_m(), rb_str_sub_bang(), rb_str_subpat_set(), scan_once(), and str_gsub().

#define CHAR_ESC_LEN   13

Definition at line 4334 of file string.c.

Referenced by rb_str_buf_cat_escaped_char(), and rb_str_inspect().

#define CHECK_IF_ASCII (   c)
Value:
(void)((cr == ENC_CODERANGE_7BIT && !rb_isascii(c)) ? \
           (cr = ENC_CODERANGE_VALID) : 0)

Referenced by tr_trans().

#define END (   no)    (regs->end[(no)])

Definition at line 21 of file string.c.

Referenced by rb_str_split_m(), rb_str_sub_bang(), rb_str_subpat_set(), scan_once(), and str_gsub().

#define is_ascii_string (   str)    (rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT)

Definition at line 118 of file string.c.

Referenced by rb_str_split_m(), and rb_str_upto().

#define is_broken_string (   str)    (rb_enc_str_coderange(str) == ENC_CODERANGE_BROKEN)
#define IS_EVSTR (   p,
 
)    ((p) < (e) && (*(p) == '$' || *(p) == '@' || *(p) == '{'))

Definition at line 4491 of file string.c.

Referenced by rb_str_dump().

#define lesser (   a,
 
)    (((a)>(b))?(b):(a))

Definition at line 2197 of file string.c.

Referenced by rb_str_cmp().

#define numberof (   array)    (int)(sizeof(array) / sizeof((array)[0]))

Definition at line 30 of file string.c.

Referenced by rb_str_upto().

#define rb_intern (   str)    rb_intern_const(str)
#define rb_str_buf_new2   rb_str_buf_new_cstr
#define rb_str_dup_frozen   rb_str_new_frozen
#define rb_str_new2   rb_str_new_cstr
#define rb_str_new3   rb_str_new_shared
#define rb_str_new4   rb_str_new_frozen
#define rb_str_new5   rb_str_new_with_class
#define rb_tainted_str_new2   rb_tainted_str_new_cstr
#define rb_usascii_str_new2   rb_usascii_str_new_cstr
#define RESIZE_CAPA (   str,
  capacity 
)
Value:
do {\
    if (STR_EMBED_P(str)) {\
        if ((capacity) > RSTRING_EMBED_LEN_MAX) {\
            char *tmp = ALLOC_N(char, (capacity)+1);\
            memcpy(tmp, RSTRING_PTR(str), RSTRING_LEN(str));\
            RSTRING(str)->as.heap.ptr = tmp;\
            RSTRING(str)->as.heap.len = RSTRING_LEN(str);\
            STR_SET_NOEMBED(str);\
            RSTRING(str)->as.heap.aux.capa = (capacity);\
        }\
    }\
    else {\
        REALLOC_N(RSTRING(str)->as.heap.ptr, char, (capacity)+1);\
        if (!STR_NOCAPA_P(str))\
            RSTRING(str)->as.heap.aux.capa = (capacity);\
    }\
} while (0)

Definition at line 100 of file string.c.

Referenced by rb_str_associate(), rb_str_splice_0(), rb_str_sub_bang(), rb_str_succ(), and str_buf_cat().

#define RUBY_MAX_CHAR_LEN   16

Definition at line 54 of file string.c.

#define STR_ASSOC   FL_USER3

Definition at line 58 of file string.c.

Referenced by rb_str_associate(), rb_str_new_frozen(), str_buf_cat(), and str_replace().

#define STR_ASSOC_P (   s)    FL_ALL((s), STR_NOEMBED|STR_ASSOC)
#define str_buf_cat2 (   str,
  ptr 
)    str_buf_cat((str), (ptr), strlen(ptr))

Definition at line 1862 of file string.c.

Referenced by rb_str_inspect().

#define STR_BUF_MIN_SIZE   128

Definition at line 733 of file string.c.

Referenced by rb_str_buf_new().

#define STR_DEC_LEN (   str)
Value:
do {\
    if (STR_EMBED_P(str)) {\
        long n = RSTRING_LEN(str);\
        n--;\
        STR_SET_EMBED_LEN((str), n);\
    }\
    else {\
        RSTRING(str)->as.heap.len--;\
    }\
} while (0)

Definition at line 89 of file string.c.

Referenced by rb_str_chomp_bang().

#define STR_EMBED_P (   str)    (!FL_TEST((str), STR_NOEMBED))
#define STR_ENC_GET (   str)    rb_enc_from_index(ENCODING_GET(str))
#define str_make_independent (   str)    str_make_independent_expand((str), 0L)

Definition at line 1316 of file string.c.

Referenced by rb_str_associate(), rb_str_modify(), and str_modify_keep_cr().

#define STR_NOCAPA   (STR_NOEMBED|ELTS_SHARED|STR_ASSOC)

Definition at line 61 of file string.c.

Referenced by rb_str_shared_replace().

#define STR_NOCAPA_P (   s)    (FL_TEST((s),STR_NOEMBED) && FL_ANY((s),ELTS_SHARED|STR_ASSOC))

Definition at line 62 of file string.c.

Referenced by rb_str_capacity(), rb_str_resize(), and rb_str_shared_replace().

#define STR_NOEMBED   FL_USER1

Definition at line 56 of file string.c.

Referenced by rb_str_buf_new(), rb_str_drop_bytes(), and str_replace_shared().

#define STR_SET_EMBED (   str)    FL_UNSET((str), STR_NOEMBED)
#define STR_SET_EMBED_LEN (   str,
 
)
Value:
do { \
    long tmp_n = (n);\
    RBASIC(str)->flags &= ~RSTRING_EMBED_LEN_MASK;\
    RBASIC(str)->flags |= (tmp_n) << RSTRING_EMBED_LEN_SHIFT;\
} while (0)

Definition at line 74 of file string.c.

Referenced by rb_str_clear(), rb_str_drop_bytes(), rb_str_resize(), rb_str_shared_replace(), and str_replace_shared().

#define STR_SET_LEN (   str,
 
)
#define STR_SET_NOEMBED (   str)
Value:
do {\
    FL_SET((str), STR_NOEMBED);\
    STR_SET_EMBED_LEN((str), 0);\
} while (0)

Definition at line 68 of file string.c.

Referenced by rb_str_resize(), rb_str_shared_replace(), RUBY_ALIAS_FUNCTION(), str_make_independent_expand(), str_new(), str_replace(), and tr_trans().

#define STR_SHARED   FL_USER2

Definition at line 57 of file string.c.

#define STR_SHARED_P (   s)    FL_ALL((s), STR_NOEMBED|ELTS_SHARED)
#define STR_TMPLOCK   FL_USER7

Definition at line 55 of file string.c.

Referenced by rb_str_unlocktmp(), RUBY_ALIAS_FUNCTION(), and str_modifiable().

#define STR_UNSET_NOCAPA (   s)
Value:
do {\
    if (FL_TEST((s),STR_NOEMBED)) FL_UNSET((s),(ELTS_SHARED|STR_ASSOC));\
} while (0)

Definition at line 63 of file string.c.

Referenced by rb_str_shared_replace(), and str_make_independent_expand().

#define TR_TABLE_SIZE   257

Definition at line 5285 of file string.c.

Referenced by rb_str_count(), rb_str_delete_bang(), and rb_str_squeeze_bang().


Typedef Documentation

typedef unsigned char* USTR

Definition at line 4941 of file string.c.


Enumeration Type Documentation

Enumerator:
NEIGHBOR_NOT_CHAR 
NEIGHBOR_FOUND 
NEIGHBOR_WRAPPED 

Definition at line 2730 of file string.c.


Function Documentation

static long chopped_length ( VALUE  str) [static]
static int coderange_scan ( const char *  p,
long  len,
rb_encoding enc 
) [static]
static enum neighbor_char enc_pred_char ( char *  p,
long  len,
rb_encoding enc 
) [static]
static long enc_strlen ( const char *  p,
const char *  e,
rb_encoding enc,
int  cr 
) [inline, static]
static enum neighbor_char enc_succ_alnum_char ( char *  p,
long  len,
rb_encoding enc,
char *  carry 
) [static]
static enum neighbor_char enc_succ_char ( char *  p,
long  len,
rb_encoding enc 
) [static]
static VALUE get_pat ( VALUE  pat,
int  quote 
) [static]
void Init_String ( void  )

Definition at line 7744 of file string.c.

References CLASS_OF, Qnil, rb_cObject, rb_cString, rb_cSymbol, rb_define_alloc_func(), rb_define_class(), rb_define_method(), rb_define_singleton_method(), rb_define_variable(), rb_fs, rb_include_module(), rb_intern, rb_mComparable, rb_obj_encoding(), rb_str_aref_m(), rb_str_aset_m(), rb_str_bytesize(), rb_str_byteslice(), rb_str_capitalize(), rb_str_capitalize_bang(), rb_str_casecmp(), rb_str_center(), rb_str_chomp(), rb_str_chomp_bang(), rb_str_chop(), rb_str_chop_bang(), rb_str_chr(), rb_str_clear(), rb_str_cmp_m(), rb_str_concat(), rb_str_count(), rb_str_crypt(), rb_str_delete(), rb_str_delete_bang(), rb_str_downcase(), rb_str_downcase_bang(), rb_str_dump(), rb_str_each_byte(), rb_str_each_char(), rb_str_each_codepoint(), rb_str_each_line(), rb_str_empty(), rb_str_end_with(), rb_str_eql(), rb_str_equal(), rb_str_force_encoding(), rb_str_format_m(), rb_str_getbyte(), rb_str_gsub(), rb_str_gsub_bang(), rb_str_hash_m(), rb_str_hex(), rb_str_include(), rb_str_index_m(), rb_str_init(), rb_str_insert(), rb_str_inspect(), rb_str_intern(), rb_str_is_ascii_only_p(), rb_str_length(), rb_str_ljust(), rb_str_lstrip(), rb_str_lstrip_bang(), rb_str_match(), rb_str_match_m(), rb_str_oct(), rb_str_ord(), rb_str_partition(), rb_str_plus(), rb_str_prepend(), rb_str_replace(), rb_str_reverse(), rb_str_reverse_bang(), rb_str_rindex_m(), rb_str_rjust(), rb_str_rpartition(), rb_str_rstrip(), rb_str_rstrip_bang(), rb_str_s_try_convert(), rb_str_scan(), rb_str_setbyte(), rb_str_slice_bang(), rb_str_split_m(), rb_str_squeeze(), rb_str_squeeze_bang(), rb_str_start_with(), rb_str_strip(), rb_str_strip_bang(), rb_str_sub(), rb_str_sub_bang(), rb_str_succ(), rb_str_succ_bang(), rb_str_sum(), rb_str_swapcase(), rb_str_swapcase_bang(), rb_str_times(), rb_str_to_f(), rb_str_to_i(), rb_str_to_s(), rb_str_tr(), rb_str_tr_bang(), rb_str_tr_s(), rb_str_tr_s_bang(), rb_str_upcase(), rb_str_upcase_bang(), rb_str_upto(), rb_str_valid_encoding_p(), rb_sym_all_symbols(), rb_sym_to_s(), rb_undef_alloc_func(), rb_undef_method(), str_alloc(), sym_aref, sym_capitalize(), sym_casecmp(), sym_cmp(), sym_downcase(), sym_empty(), sym_encoding, sym_equal(), sym_inspect(), sym_length(), sym_match(), sym_succ(), sym_swapcase(), sym_to_proc(), sym_to_sym(), and sym_upcase().

void* rb_alloc_tmp_buffer ( volatile VALUE store,
long  len 
)

Definition at line 773 of file string.c.

References rb_str_tmp_new(), and RSTRING_PTR.

VALUE rb_check_string_type ( VALUE  str)
static VALUE rb_enc_cr_str_buf_cat ( VALUE  str,
const char *  ptr,
long  len,
int  ptr_encindex,
int  ptr_cr,
int *  ptr_cr_ret 
) [static]
static void rb_enc_cr_str_copy_for_substr ( VALUE  dest,
VALUE  src 
) [static]
static void rb_enc_cr_str_exact_copy ( VALUE  dest,
VALUE  src 
) [static]
char* rb_enc_nth ( const char *  p,
const char *  e,
long  nth,
rb_encoding enc 
)

Definition at line 1522 of file string.c.

References str_nth_len().

Referenced by iconv_iconv(), rb_str_ellipsize(), and rb_str_format().

int rb_enc_str_asciionly_p ( VALUE  str)
VALUE rb_enc_str_buf_cat ( VALUE  str,
const char *  ptr,
long  len,
rb_encoding ptr_enc 
)
int rb_enc_str_coderange ( VALUE  str)
VALUE rb_enc_str_new ( const char *  ptr,
long  len,
rb_encoding enc 
)
long rb_enc_strlen ( const char *  p,
const char *  e,
rb_encoding enc 
)

Definition at line 980 of file string.c.

References ENC_CODERANGE_UNKNOWN, and enc_strlen().

Referenced by rb_str_format(), and update_char_offset().

long rb_enc_strlen_cr ( const char *  p,
const char *  e,
rb_encoding enc,
int *  cr 
)
VALUE rb_external_str_new ( const char *  ptr,
long  len 
)
VALUE rb_external_str_new_cstr ( const char *  ptr)

Definition at line 555 of file string.c.

References rb_default_external_encoding(), rb_external_str_new_with_enc(), and strlen().

Referenced by ruby_set_argv().

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

Definition at line 573 of file string.c.

References rb_external_str_new_with_enc(), and rb_filesystem_encoding().

VALUE rb_filesystem_str_new_cstr ( const char *  ptr)
void rb_free_tmp_buffer ( volatile VALUE store)

Definition at line 781 of file string.c.

References rb_str_clear().

VALUE rb_locale_str_new ( const char *  ptr,
long  len 
)

Definition at line 561 of file string.c.

References rb_external_str_new_with_enc(), and rb_locale_encoding().

Referenced by curses_getch(), env_str_new(), and window_getch().

VALUE rb_locale_str_new_cstr ( const char *  ptr)
VALUE rb_obj_as_string ( VALUE  obj)
VALUE rb_str_append ( VALUE  str,
VALUE  str2 
)
static VALUE rb_str_aref ( VALUE  str,
VALUE  indx 
) [static]
static VALUE rb_str_aref_m ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_aset ( VALUE  str,
VALUE  indx,
VALUE  val 
) [static]
static VALUE rb_str_aset_m ( int  argc,
VALUE argv,
VALUE  str 
) [static]
void rb_str_associate ( VALUE  str,
VALUE  add 
)
VALUE rb_str_associated ( VALUE  str)

Definition at line 1403 of file string.c.

References Qfalse, RSTRING, STR_ASSOC_P, and STR_SHARED_P.

Referenced by pack_unpack().

VALUE rb_str_buf_append ( VALUE  str,
VALUE  str2 
)
VALUE rb_str_buf_cat ( VALUE  str,
const char *  ptr,
long  len 
)
VALUE rb_str_buf_cat2 ( VALUE  str,
const char *  ptr 
)
VALUE rb_str_buf_cat_ascii ( VALUE  str,
const char *  ptr 
)
int rb_str_buf_cat_escaped_char ( VALUE  result,
unsigned int  c,
int  unicode_p 
)

Definition at line 4337 of file string.c.

References buf, CHAR_ESC_LEN, ISPRINT, rb_str_buf_cat(), snprintf, and strlen().

Referenced by rb_reg_expr_str(), and rb_str_inspect().

VALUE rb_str_buf_new ( long  capa)
VALUE rb_str_buf_new_cstr ( const char *  ptr)

Definition at line 752 of file string.c.

References rb_str_buf_cat(), rb_str_buf_new(), and strlen().

Referenced by load_failed().

static VALUE rb_str_bytesize ( VALUE  str) [static]

Definition at line 1153 of file string.c.

References LONG2NUM, and RSTRING_LEN.

Referenced by Init_String().

static VALUE rb_str_byteslice ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 4108 of file string.c.

References NUM2LONG(), rb_eArgError, rb_raise(), str_byte_aref(), and str_byte_substr().

Referenced by Init_String().

size_t rb_str_capacity ( VALUE  str)
static VALUE rb_str_capitalize ( VALUE  str) [static]

Definition at line 4871 of file string.c.

References rb_str_capitalize_bang(), and rb_str_dup().

Referenced by Init_String(), and sym_capitalize().

static VALUE rb_str_capitalize_bang ( VALUE  str) [static]
static VALUE rb_str_casecmp ( VALUE  str1,
VALUE  str2 
) [static]
VALUE rb_str_cat ( VALUE  str,
const char *  ptr,
long  len 
)
VALUE rb_str_cat2 ( VALUE  str,
const char *  ptr 
)
static VALUE rb_str_center ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 7066 of file string.c.

References rb_str_justify().

Referenced by Init_String().

static void rb_str_check_dummy_enc ( rb_encoding enc) [static]
static VALUE rb_str_chomp ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 6433 of file string.c.

References rb_str_chomp_bang(), and rb_str_dup().

Referenced by Init_String().

static VALUE rb_str_chomp_bang ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_chop ( VALUE  str) [static]

Definition at line 6295 of file string.c.

References chopped_length(), OBJ_INFECT, rb_enc_cr_str_copy_for_substr(), rb_str_new5, and RSTRING_PTR.

Referenced by Init_String().

static VALUE rb_str_chop_bang ( VALUE  str) [static]
static VALUE rb_str_chr ( VALUE  str) [static]

Definition at line 3967 of file string.c.

References rb_str_substr().

Referenced by Init_String().

static VALUE rb_str_clear ( VALUE  str) [static]
int rb_str_cmp ( VALUE  str1,
VALUE  str2 
)
static VALUE rb_str_cmp_m ( VALUE  str1,
VALUE  str2 
) [static]

Definition at line 2326 of file string.c.

References FIX2LONG, FIXNUM_P, LONG2FIX, LONG2NUM, NIL_P, Qnil, rb_funcall(), rb_intern, rb_respond_to(), rb_str_cmp(), result, T_STRING, and TYPE.

Referenced by Init_String(), and sym_cmp().

long rb_str_coderange_scan_restartable ( const char *  s,
const char *  e,
rb_encoding enc,
int *  cr 
)
int rb_str_comparable ( VALUE  str1,
VALUE  str2 
)
VALUE rb_str_concat ( VALUE  str1,
VALUE  str2 
)
VALUE rb_str_conv_enc ( VALUE  str,
rb_encoding from,
rb_encoding to 
)
static VALUE rb_str_count ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_crypt ( VALUE  str,
VALUE  salt 
) [static]

Definition at line 6773 of file string.c.

References crypt(), ISASCII, OBJ_INFECT, rb_eArgError, rb_raise(), rb_str_new2, result, RSTRING_LEN, RSTRING_PTR, and StringValue.

Referenced by Init_String().

static VALUE rb_str_delete ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 5455 of file string.c.

References rb_str_delete_bang(), and rb_str_dup().

Referenced by Init_String().

static VALUE rb_str_delete_bang ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_downcase ( VALUE  str) [static]

Definition at line 4800 of file string.c.

References rb_str_downcase_bang(), and rb_str_dup().

Referenced by Init_String(), and sym_downcase().

static VALUE rb_str_downcase_bang ( VALUE  str) [static]
VALUE rb_str_drop_bytes ( VALUE  str,
long  len 
)
VALUE rb_str_dump ( VALUE  str)
VALUE rb_str_dup ( VALUE  str)
static VALUE rb_str_each_byte ( VALUE  str) [static]

Definition at line 6128 of file string.c.

References INT2FIX, rb_yield(), RETURN_ENUMERATOR, RSTRING_LEN, and RSTRING_PTR.

Referenced by Init_String(), and rb_str_each_codepoint().

static VALUE rb_str_each_char ( VALUE  str) [static]
static VALUE rb_str_each_codepoint ( VALUE  str) [static]
static VALUE rb_str_each_line ( int  argc,
VALUE argv,
VALUE  str 
) [static]
VALUE rb_str_ellipsize ( VALUE  str,
long  len 
)

Shortens _str_ and adds three dots, an ellipsis, if it is longer than _len_ characters.

Parameters:
strthe string to ellipsize.
lenthe maximum string length.
Returns:
the ellipsized string.
Precondition:
_len_ must not be negative.
Postcondition:
the length of the returned string in characters is less than or equal to _len_.
If the length of _str_ is less than or equal _len_, returns _str_ itself.
the encoded of returned string is equal to the encoded of _str_.
the class of returned string is equal to the class of _str_.
Note:
the length is counted in characters.

Definition at line 7309 of file string.c.

References Qnil, rb_eIndexError, rb_enc_asciicompat, rb_enc_associate(), rb_enc_from_encoding(), rb_enc_get(), rb_enc_mbminlen, rb_enc_nth(), rb_enc_step_back, rb_raise(), rb_str_append(), rb_str_cat(), rb_str_encode(), rb_str_new_with_class(), rb_str_subseq(), rb_usascii_str_new(), RSTRING_LEN, and RSTRING_PTR.

Referenced by bug_str_ellipsize(), rb_hash_fetch_m(), and sys_fail2().

static VALUE rb_str_empty ( VALUE  str) [static]

Definition at line 1169 of file string.c.

References Qfalse, Qtrue, and RSTRING_LEN.

Referenced by Init_String(), and sym_empty().

static VALUE rb_str_end_with ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_eql ( VALUE  str1,
VALUE  str2 
) [static]

Definition at line 2295 of file string.c.

References Qfalse, Qtrue, str_eql(), T_STRING, and TYPE.

Referenced by Init_String().

VALUE rb_str_equal ( VALUE  str1,
VALUE  str2 
)
VALUE rb_str_export ( VALUE  str)

Definition at line 585 of file string.c.

References rb_default_external_encoding(), rb_str_conv_enc(), and STR_ENC_GET.

VALUE rb_str_export_locale ( VALUE  str)

Definition at line 591 of file string.c.

References rb_locale_encoding(), rb_str_conv_enc(), and STR_ENC_GET.

Referenced by curses_addstr(), and window_addstr().

VALUE rb_str_export_to_enc ( VALUE  str,
rb_encoding enc 
)

Definition at line 597 of file string.c.

References rb_str_conv_enc(), and STR_ENC_GET.

Referenced by alias(), scalar(), start_document(), start_mapping(), and start_sequence().

static VALUE rb_str_force_encoding ( VALUE  str,
VALUE  enc 
) [static]

Definition at line 7249 of file string.c.

References ENC_CODERANGE_CLEAR, rb_enc_associate(), rb_to_encoding(), and str_modifiable().

Referenced by Init_String().

static VALUE rb_str_format_m ( VALUE  str,
VALUE  arg 
) [static]

Definition at line 1266 of file string.c.

References NIL_P, RARRAY_LENINT, RARRAY_PTR, rb_check_array_type(), and rb_str_format().

Referenced by Init_String().

void rb_str_free ( VALUE  str)

Definition at line 789 of file string.c.

References RSTRING, STR_EMBED_P, STR_SHARED_P, and xfree().

Referenced by obj_free().

VALUE rb_str_freeze ( VALUE  str)
static VALUE rb_str_getbyte ( VALUE  str,
VALUE  index 
) [static]

Definition at line 3979 of file string.c.

References INT2FIX, NUM2LONG(), Qnil, RSTRING_LEN, and RSTRING_PTR.

Referenced by Init_String().

static VALUE rb_str_gsub ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 3904 of file string.c.

References str_gsub().

Referenced by Init_String().

static VALUE rb_str_gsub_bang ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 3853 of file string.c.

References str_gsub(), and str_modify_keep_cr().

Referenced by Init_String().

st_index_t rb_str_hash ( VALUE  str)
int rb_str_hash_cmp ( VALUE  str1,
VALUE  str2 
)

Definition at line 2171 of file string.c.

References len, memcmp(), rb_str_comparable(), RSTRING_LEN, and RSTRING_PTR.

Referenced by cdhash_cmp(), and rb_any_cmp().

static VALUE rb_str_hash_m ( VALUE  str) [static]

Definition at line 2191 of file string.c.

References INT2FIX, and rb_str_hash().

Referenced by Init_String().

static VALUE rb_str_hex ( VALUE  str) [static]
static VALUE rb_str_include ( VALUE  str,
VALUE  arg 
) [static]

Definition at line 4232 of file string.c.

References Qfalse, Qtrue, rb_str_index(), and StringValue.

Referenced by Init_String().

static long rb_str_index ( VALUE  str,
VALUE  sub,
long  offset 
) [static]
static VALUE rb_str_index_m ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_init ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 924 of file string.c.

References rb_scan_args(), and rb_str_replace().

Referenced by Init_String().

static VALUE rb_str_insert ( VALUE  str,
VALUE  idx,
VALUE  str2 
) [static]

Definition at line 3484 of file string.c.

References NUM2LONG(), rb_str_append(), and rb_str_splice().

Referenced by Init_String().

VALUE rb_str_inspect ( VALUE  str)
VALUE rb_str_intern ( VALUE  s)
static VALUE rb_str_is_ascii_only_p ( VALUE  str) [static]

Definition at line 7287 of file string.c.

References ENC_CODERANGE_7BIT, Qfalse, Qtrue, and rb_enc_str_coderange().

Referenced by Init_String(), and sym_inspect().

static VALUE rb_str_justify ( int  argc,
VALUE argv,
VALUE  str,
char  jflag 
) [static]
VALUE rb_str_length ( VALUE  str)

Definition at line 1137 of file string.c.

References len, LONG2NUM, STR_ENC_GET, and str_strlen().

Referenced by iconv_iconv(), Init_String(), reg_match_pos(), and sym_length().

static VALUE rb_str_ljust ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 7026 of file string.c.

References rb_str_justify().

Referenced by Init_String().

static VALUE rb_str_lstrip ( VALUE  str) [static]

Definition at line 6494 of file string.c.

References rb_str_dup(), and rb_str_lstrip_bang().

Referenced by Init_String().

static VALUE rb_str_lstrip_bang ( VALUE  str) [static]
static VALUE rb_str_match ( VALUE  x,
VALUE  y 
) [static]

Definition at line 2668 of file string.c.

References rb_eTypeError, rb_funcall(), rb_intern, rb_raise(), rb_reg_match(), T_REGEXP, T_STRING, and TYPE.

Referenced by Init_String(), and sym_match().

static VALUE rb_str_match_m ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 2716 of file string.c.

References get_pat(), NIL_P, rb_block_given_p(), rb_eArgError, rb_funcall2(), rb_intern, rb_raise(), rb_yield(), and result.

Referenced by Init_String().

RUBY_FUNC_EXPORTED size_t rb_str_memsize ( VALUE  str)

Definition at line 797 of file string.c.

References RSTRING, STR_EMBED_P, and STR_SHARED_P.

Referenced by memsize_of().

void rb_str_modify ( VALUE  str)
void rb_str_modify_expand ( VALUE  str,
long  expand 
)
VALUE rb_str_new ( const char *  ptr,
long  len 
)

Definition at line 410 of file string.c.

References rb_cString, and str_new().

Referenced by addrinfo_inspect_sockaddr(), addrinfo_mdump(), addrinfo_to_sockaddr(), appendline(), argf_getpartial(), asn1str_to_str(), BigDecimal_dump(), BigDecimal_inspect(), BigDecimal_split(), BigDecimal_to_f(), BigDecimal_to_s(), bsock_getpeername(), bsock_getsockname(), bsock_getsockopt(), bubblebabble_str_new(), check_pipe_command(), cState_to_h(), date_strftime_internal(), date_zone_to_diff(), decode_bstr(), decode_eoc(), dir_s_home(), econv_convert(), econv_description(), econv_finish(), econv_primitive_errinfo(), econv_putback(), extract_user_token(), fbuffer_to_s(), gzfile_getc(), gzfile_read(), gzfile_read_all(), gzfile_read_header(), gzfile_readpartial(), gzreader_gets(), hexencode_str_new(), iconv_convert(), iconv_create(), iconv_s_conv(), infected_str_new(), inspect1(), inspect2(), int_chr(), int_ossl_asn1_decode0_prim(), io_getc(), io_setstrbuf(), io_shift_cbuf(), join_der(), JSON_parse_float(), JSON_parse_integer(), lib_conv_listelement(), lib_fromUTF8_core(), lib_merge_tklist(), lib_toUTF8_core(), lib_UTF_backslash_core(), load_file_internal(), make_econv_exception(), match_to_s(), mktime_r(), name_to_backref_number(), ossl_asn1cons_to_der(), ossl_asn1data_to_der(), ossl_asn1eoc_initialize(), ossl_bn_to_s(), ossl_cipher_final(), ossl_cipher_update(), ossl_dh_compute_key(), ossl_dh_to_der(), ossl_digest_finish(), ossl_dsa_sign(), ossl_dsa_to_der(), ossl_hmac_s_digest(), ossl_membio2str0(), ossl_pkcs12_to_der(), ossl_pkcs7_to_der(), ossl_pkey_sign(), ossl_rand_bytes(), ossl_rand_pseudo_bytes(), ossl_rsa_private_decrypt(), ossl_rsa_private_encrypt(), ossl_rsa_public_decrypt(), ossl_rsa_public_encrypt(), ossl_rsa_to_der(), ossl_spki_get_challenge(), ossl_spki_print(), ossl_spki_to_der(), ossl_ssl_read_internal(), ossl_ssl_session_to_der(), ossl_ssl_session_to_pem(), ossl_ssl_session_to_text(), ossl_sslctx_session_get_cb(), ossl_sslctx_set_ciphers(), ossl_str_new(), ossl_x509_to_der(), ossl_x509attr_get_value(), ossl_x509attr_to_der(), ossl_x509crl_get_signature_algorithm(), ossl_x509crl_to_der(), ossl_x509crl_to_pem(), ossl_x509crl_to_text(), ossl_x509ext_to_der(), ossl_x509name_to_a(), ossl_x509name_to_der(), ossl_x509req_get_signature_algorithm(), ossl_x509req_to_der(), ossl_x509req_to_pem(), ossl_x509req_to_text(), pack_pack(), pack_unpack(), parse(), proc_options(), r_bytes0(), rb_compile_cstr(), rb_digest_base_finish(), rb_enc_str_new(), rb_exc_new(), rb_f_backquote(), rb_file_dirname(), rb_file_join(), rb_file_s_basename(), rb_file_s_extname(), rb_gdbm_fetch(), rb_gdbm_firstkey(), rb_gdbm_nextkey(), rb_inflate_inflate(), rb_io_getline_fast(), rb_io_putc(), rb_io_ungetbyte(), rb_iseq_disasm(), rb_iseq_disasm_insn(), rb_nkf_convert(), rb_parser_compile_cstr(), rb_path_check(), rb_random_bytes(), rb_reg_compile(), rb_reg_quote(), rb_str_derive(), rb_str_new_cstr(), rb_str_plus(), rb_str_slice_bang(), rb_syck_output_handler(), rb_usascii_str_new(), rb_write_error2(), reg_named_captures_iter(), reg_names_iter(), RUBY_ALIAS_FUNCTION(), ruby_init_loadpath_safe(), s3e(), set_file_encoding(), set_option_encoding_once(), sock_s_gethostbyaddr(), sock_s_pack_sockaddr_in(), sock_sockaddr(), sockopt_s_bool(), sockopt_s_int(), sockopt_s_linger(), str_new(), strftimev(), strio_getline(), strio_read(), strscan_inspect(), syck_genericresolver_node_import(), syck_resolver_node_import(), time_mdump(), time_strftime(), tkstr_to_str(), writer(), yaml_org_handler(), zstream_detach_buffer(), zstream_detach_input(), zstream_expand_buffer(), zstream_expand_buffer_into(), and zstream_sync().

VALUE rb_str_new_cstr ( const char *  ptr)
VALUE rb_str_new_frozen ( VALUE  orig)
VALUE rb_str_new_shared ( VALUE  str)

Definition at line 636 of file string.c.

References OBJ_INFECT, rb_obj_class(), and str_new3().

Referenced by rb_file_s_basename(), and rb_str_subseq().

static VALUE rb_str_oct ( VALUE  str) [static]
long rb_str_offset ( VALUE  str,
long  pos 
)

Definition at line 1550 of file string.c.

References RSTRING_END, RSTRING_PTR, single_byte_optimizable(), STR_ENC_GET, and str_offset().

Referenced by reg_match_pos().

VALUE rb_str_ord ( VALUE  s)

Definition at line 6845 of file string.c.

References rb_enc_codepoint, RSTRING_END, RSTRING_PTR, STR_ENC_GET, and UINT2NUM().

Referenced by Init_String().

static VALUE rb_str_partition ( VALUE  str,
VALUE  sep 
) [static]
VALUE rb_str_plus ( VALUE  str1,
VALUE  str2 
)
static VALUE rb_str_prepend ( VALUE  str,
VALUE  str2 
) [static]

Definition at line 2152 of file string.c.

References rb_str_update(), and StringValue.

Referenced by Init_String().

VALUE rb_str_replace ( VALUE  str,
VALUE  str2 
)

Definition at line 3922 of file string.c.

References str_discard(), str_modifiable(), str_replace(), and StringValue.

Referenced by Init_String(), and rb_str_init().

VALUE rb_str_resize ( VALUE  str,
long  len 
)

Definition at line 1771 of file string.c.

References ENC_CODERANGE_CLEAR, len, MEMCPY, rb_eArgError, rb_raise(), REALLOC_N, RSTRING, RSTRING_EMBED_LEN_MAX, RSTRING_LEN, STR_EMBED_P, str_independent(), str_make_independent_expand(), STR_NOCAPA_P, STR_SET_EMBED, STR_SET_EMBED_LEN, STR_SET_NOEMBED, and xfree().

Referenced by append_fspath(), appendline(), argf_getpartial(), argf_read(), BigDecimal_dump(), BigDecimal_inspect(), BigDecimal_split(), BigDecimal_to_s(), copy_stream_body(), copy_stream_fallback_body(), econv_primitive_convert(), flo_to_s(), gzfile_error_inspect(), gzfile_readpartial(), iconv_create(), io_getpartial(), io_read(), io_setstrbuf(), lib_conv_listelement(), literal_concat0(), marshal_dump(), moreswitches(), ossl_cipher_update(), ossl_digest_finish(), ossl_ssl_read_internal(), rb_big2str0(), rb_econv_substr_append(), rb_enc_vsprintf(), rb_feature_p(), rb_file_expand_path_internal(), rb_gzfile_set_comment(), rb_gzfile_set_orig_name(), rb_home_dir(), rb_io_getline_fast(), rb_io_sysread(), rb_iseq_disasm(), rb_nkf_putchar(), rb_reg_quote(), rb_str_concat(), rb_str_format(), rb_str_vcatf(), read_all(), realpath_rec(), RUBY_ALIAS_FUNCTION(), ruby_init_loadpath_safe(), ruby_setenv(), set_file_encoding(), setup_narg(), str_transcoding_resize(), strio_extend(), strio_init(), strio_read(), strio_truncate(), strio_ungetbyte(), strio_ungetc(), sym_inspect(), VpAlloc(), w_nbyte(), yyparse(), zstream_append_buffer(), zstream_detach_buffer(), zstream_discard_input(), zstream_expand_buffer(), and zstream_expand_buffer_into().

VALUE rb_str_resurrect ( VALUE  str)

Definition at line 911 of file string.c.

References rb_cString, str_alloc(), and str_replace().

Referenced by gzfile_raise(), gzfile_reader_get_unused(), and obj_resurrect().

static VALUE rb_str_reverse ( VALUE  str) [static]
static VALUE rb_str_reverse_bang ( VALUE  str) [static]
static long rb_str_rindex ( VALUE  str,
VALUE  sub,
long  pos 
) [static]
static VALUE rb_str_rindex_m ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_rjust ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 7046 of file string.c.

References rb_str_justify().

Referenced by Init_String().

static VALUE rb_str_rpartition ( VALUE  str,
VALUE  sep 
) [static]
static VALUE rb_str_rstrip ( VALUE  str) [static]

Definition at line 6564 of file string.c.

References rb_str_dup(), and rb_str_rstrip_bang().

Referenced by Init_String().

static VALUE rb_str_rstrip_bang ( VALUE  str) [static]
static VALUE rb_str_s_try_convert ( VALUE  dummy,
VALUE  str 
) [static]

Definition at line 1467 of file string.c.

References rb_check_string_type().

Referenced by Init_String().

static VALUE rb_str_scan ( VALUE  str,
VALUE  pat 
) [static]
void rb_str_set_len ( VALUE  str,
long  len 
)
static VALUE rb_str_setbyte ( VALUE  str,
VALUE  index,
VALUE  value 
) [static]

Definition at line 3998 of file string.c.

References NUM2INT, NUM2LONG(), rb_eIndexError, rb_raise(), rb_str_modify(), RSTRING_LEN, and RSTRING_PTR.

Referenced by Init_String().

void rb_str_setter ( VALUE  val,
ID  id,
VALUE var 
)

Definition at line 7232 of file string.c.

References NIL_P, rb_eTypeError, rb_id2name(), rb_raise(), T_STRING, and TYPE.

Referenced by Init_IO().

void rb_str_shared_replace ( VALUE  str,
VALUE  str2 
)
static VALUE rb_str_slice_bang ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static void rb_str_splice ( VALUE  str,
long  beg,
long  len,
VALUE  val 
) [static]
static void rb_str_splice_0 ( VALUE  str,
long  beg,
long  len,
VALUE  val 
) [static]
VALUE rb_str_split ( VALUE  str,
const char *  sep0 
)

Definition at line 5963 of file string.c.

References rb_str_new2, rb_str_split_m(), and StringValue.

Referenced by syck_const_find(), and syck_resolver_transfer().

static VALUE rb_str_split_m ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_squeeze ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 5562 of file string.c.

References rb_str_dup(), and rb_str_squeeze_bang().

Referenced by Init_String().

static VALUE rb_str_squeeze_bang ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_start_with ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 7186 of file string.c.

References argc, memcmp(), NIL_P, Qfalse, Qtrue, rb_check_string_type(), rb_enc_check(), RSTRING_LEN, and RSTRING_PTR.

Referenced by Init_String().

static VALUE rb_str_strip ( VALUE  str) [static]

Definition at line 6602 of file string.c.

References rb_str_dup(), and rb_str_strip_bang().

Referenced by Init_String().

static VALUE rb_str_strip_bang ( VALUE  str) [static]

Definition at line 6581 of file string.c.

References NIL_P, Qnil, rb_str_lstrip_bang(), and rb_str_rstrip_bang().

Referenced by Init_String(), and rb_str_strip().

long rb_str_strlen ( VALUE  str)

Definition at line 1123 of file string.c.

References STR_ENC_GET, and str_strlen().

static VALUE rb_str_sub ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 3720 of file string.c.

References rb_str_dup(), and rb_str_sub_bang().

Referenced by Init_String().

static VALUE rb_str_sub_bang ( int  argc,
VALUE argv,
VALUE  str 
) [static]
long rb_str_sublen ( VALUE  str,
long  pos 
)
static VALUE rb_str_subpat ( VALUE  str,
VALUE  re,
VALUE  backref 
) [static]
static void rb_str_subpat_set ( VALUE  str,
VALUE  re,
VALUE  backref,
VALUE  val 
) [static]
VALUE rb_str_subseq ( VALUE  str,
long  beg,
long  len 
)
VALUE rb_str_substr ( VALUE  str,
long  beg,
long  len 
)
VALUE rb_str_succ ( VALUE  orig)
static VALUE rb_str_succ_bang ( VALUE  str) [static]

Definition at line 2979 of file string.c.

References rb_str_shared_replace(), and rb_str_succ().

Referenced by Init_String().

static VALUE rb_str_sum ( int  argc,
VALUE argv,
VALUE  str 
) [static]
static VALUE rb_str_swapcase ( VALUE  str) [static]

Definition at line 4934 of file string.c.

References rb_str_dup(), and rb_str_swapcase_bang().

Referenced by Init_String(), and sym_swapcase().

static VALUE rb_str_swapcase_bang ( VALUE  str) [static]
VALUE rb_str_times ( VALUE  str,
VALUE  times 
)
static VALUE rb_str_to_f ( VALUE  str) [static]

Definition at line 4299 of file string.c.

References DBL2NUM, FALSE, and rb_str_to_dbl().

Referenced by Init_String().

static VALUE rb_str_to_i ( int  argc,
VALUE argv,
VALUE  str 
) [static]

Definition at line 4266 of file string.c.

References FALSE, NUM2INT, rb_eArgError, rb_raise(), rb_scan_args(), and rb_str_to_inum().

Referenced by Init_String().

static VALUE rb_str_to_s ( VALUE  str) [static]

Definition at line 4314 of file string.c.

References rb_cString, rb_obj_class(), and str_duplicate().

Referenced by Init_String().

VALUE rb_str_to_str ( VALUE  str)

Definition at line 808 of file string.c.

References rb_convert_type(), and T_STRING.

Referenced by make_struct(), rb_gzfile_set_comment(), rb_gzfile_set_orig_name(), and rb_string_value().

static VALUE rb_str_tr ( VALUE  str,
VALUE  src,
VALUE  repl 
) [static]

Definition at line 5278 of file string.c.

References rb_str_dup(), and tr_trans().

Referenced by Init_String().

static VALUE rb_str_tr_bang ( VALUE  str,
VALUE  src,
VALUE  repl 
) [static]

Definition at line 5251 of file string.c.

References tr_trans().

Referenced by Init_String().

static VALUE rb_str_tr_s ( VALUE  str,
VALUE  src,
VALUE  repl 
) [static]

Definition at line 5599 of file string.c.

References rb_str_dup(), and tr_trans().

Referenced by Init_String().

static VALUE rb_str_tr_s_bang ( VALUE  str,
VALUE  src,
VALUE  repl 
) [static]

Definition at line 5579 of file string.c.

References tr_trans().

Referenced by Init_String().

VALUE rb_str_unlocktmp ( VALUE  str)

Definition at line 1745 of file string.c.

References FL_TEST, FL_UNSET, rb_eRuntimeError, rb_raise(), and STR_TMPLOCK.

Referenced by io_fread(), io_getpartial(), rb_io_sysread(), and readline_readline().

static VALUE rb_str_upcase ( VALUE  str) [static]

Definition at line 4717 of file string.c.

References rb_str_dup(), and rb_str_upcase_bang().

Referenced by Init_String(), and sym_upcase().

static VALUE rb_str_upcase_bang ( VALUE  str) [static]
void rb_str_update ( VALUE  str,
long  beg,
long  len,
VALUE  val 
)

Definition at line 3341 of file string.c.

References rb_str_splice().

Referenced by eval_string_with_cref(), rb_str_prepend(), and strio_ungetc().

static VALUE rb_str_upto ( int  argc,
VALUE argv,
VALUE  beg 
) [static]
static VALUE rb_str_valid_encoding_p ( VALUE  str) [static]

Definition at line 7269 of file string.c.

References ENC_CODERANGE_BROKEN, Qfalse, Qtrue, and rb_enc_str_coderange().

Referenced by Init_String().

VALUE rb_string_value ( volatile VALUE ptr)

Definition at line 1413 of file string.c.

References rb_str_to_str(), T_STRING, and TYPE.

Referenced by rb_string_value_cstr(), and rb_string_value_ptr().

char* rb_string_value_cstr ( volatile VALUE ptr)
char* rb_string_value_ptr ( volatile VALUE ptr)

Definition at line 1424 of file string.c.

References rb_string_value(), and RSTRING_PTR.

VALUE rb_sym_to_s ( VALUE  sym)
VALUE rb_tainted_str_new_cstr ( const char *  ptr)

Definition at line 464 of file string.c.

References OBJ_TAINT, and rb_str_new2.

Referenced by addrinfo_firstonly_new(), addrinfo_list_new(), and init_addrinfo_getaddrinfo().

ID rb_to_id ( VALUE  name)
VALUE rb_usascii_str_new ( const char *  ptr,
long  len 
)
RUBY_ALIAS_FUNCTION ( rb_usascii_str_new2(const char *ptr)  ,
rb_usascii_str_new_cstr  ,
(ptr)   
)

Definition at line 451 of file string.c.

References OBJ_TAINT, and rb_str_new().

RUBY_ALIAS_FUNCTION ( rb_str_new3(VALUE str)  ,
rb_str_new_shared  ,
(str)   
)
RUBY_ALIAS_FUNCTION ( rb_str_new4(VALUE orig)  ,
rb_str_new_frozen  ,
(orig)   
)

Definition at line 711 of file string.c.

References rb_obj_class(), and str_new().

RUBY_ALIAS_FUNCTION ( rb_str_new5(VALUE obj, const char *ptr, long len ,
rb_str_new_with_class  ,
(obj, ptr, len  
)

Definition at line 720 of file string.c.

References OBJ_INFECT, rb_enc_copy(), and rb_str_new5.

RUBY_ALIAS_FUNCTION ( rb_str_buf_new2(const char *ptr)  ,
rb_str_buf_new_cstr  ,
(ptr)   
)

Definition at line 763 of file string.c.

References str_new().

RUBY_ALIAS_FUNCTION ( rb_str_dup_frozen(VALUE str)  ,
rb_str_new_frozen  ,
(str)   
)

Definition at line 1731 of file string.c.

References FL_SET, FL_TEST, rb_eRuntimeError, rb_raise(), and STR_TMPLOCK.

RUBY_ALIAS_FUNCTION ( rb_str_new2(const char *ptr)  ,
rb_str_new_cstr  ,
(ptr)   
)
RUBY_ALIAS_FUNCTION ( rb_tainted_str_new2(const char *ptr)  ,
rb_tainted_str_new_cstr  ,
(ptr)   
)
static VALUE scan_once ( VALUE  str,
VALUE  pat,
long *  start 
) [static]
static const char* search_nonascii ( const char *  p,
const char *  e 
) [inline, static]
static int single_byte_optimizable ( VALUE  str) [inline, static]
static VALUE str_alloc ( VALUE  klass) [inline, static]
static VALUE str_buf_cat ( VALUE  str,
const char *  ptr,
long  len 
) [static]
static VALUE str_byte_aref ( VALUE  str,
VALUE  indx 
) [static]
static VALUE str_byte_substr ( VALUE  str,
long  beg,
long  len 
) [static]
static void str_discard ( VALUE  str) [inline, static]
static VALUE str_duplicate ( VALUE  klass,
VALUE  str 
) [static]

Definition at line 897 of file string.c.

References str_alloc(), and str_replace().

Referenced by rb_str_dup(), and rb_str_to_s().

static void str_enc_copy ( VALUE  str1,
VALUE  str2 
) [inline, static]

Definition at line 282 of file string.c.

References ENCODING_GET, and rb_enc_set_index().

Referenced by rb_enc_cr_str_copy_for_substr(), and rb_enc_cr_str_exact_copy().

static VALUE str_eql ( const VALUE  str1,
const VALUE  str2 
) [static]

Definition at line 2252 of file string.c.

References memcmp(), Qfalse, Qtrue, rb_str_comparable(), RSTRING_LEN, and RSTRING_PTR.

Referenced by rb_str_eql(), and rb_str_equal().

static VALUE str_gsub ( int  argc,
VALUE argv,
VALUE  str,
int  bang 
) [static]
static int str_independent ( VALUE  str) [inline, static]
static void str_make_independent_expand ( VALUE  str,
long  expand 
) [static]

Definition at line 1297 of file string.c.

References ALLOC_N, len, RSTRING, RSTRING_LEN, RSTRING_PTR, STR_SET_NOEMBED, and STR_UNSET_NOCAPA.

Referenced by rb_str_modify_expand(), and rb_str_resize().

static void str_mod_check ( VALUE  s,
const char *  p,
long  len 
) [inline, static]
static void str_modifiable ( VALUE  str) [inline, static]
static void str_modify_keep_cr ( VALUE  str) [static]
static VALUE str_new ( VALUE  klass,
const char *  ptr,
long  len 
) [static]
static VALUE str_new3 ( VALUE  klass,
VALUE  str 
) [static]
static VALUE str_new_shared ( VALUE  klass,
VALUE  str 
) [static]

Definition at line 624 of file string.c.

References str_alloc(), and str_replace_shared().

Referenced by str_new3().

static char* str_nth ( const char *  p,
const char *  e,
long  nth,
rb_encoding enc,
int  singlebyte 
) [static]

Definition at line 1528 of file string.c.

References str_nth_len().

Referenced by rb_str_rindex(), rb_str_splice(), and str_offset().

static char* str_nth_len ( const char *  p,
const char *  e,
long *  nthp,
rb_encoding enc 
) [static]
static long str_offset ( const char *  p,
const char *  e,
long  nth,
rb_encoding enc,
int  singlebyte 
) [static]
static VALUE str_replace ( VALUE  str,
VALUE  str2 
) [static]
static VALUE str_replace_shared ( VALUE  str2,
VALUE  str 
) [static]
static long str_strlen ( VALUE  str,
rb_encoding enc 
) [static]
static VALUE sym_aref ( int  argc,
VALUE argv,
VALUE  sym 
) [static]

Definition at line 7610 of file string.c.

References rb_str_aref_m(), and rb_sym_to_s().

static VALUE sym_call ( VALUE  args,
VALUE  sym,
int  argc,
VALUE argv 
) [static]

Definition at line 7490 of file string.c.

References rb_eArgError, rb_funcall_passing_block(), and rb_raise().

Referenced by sym_to_proc().

static VALUE sym_capitalize ( VALUE  sym) [static]

Definition at line 7675 of file string.c.

References rb_id2str(), rb_str_capitalize(), rb_str_intern(), and SYM2ID.

Referenced by Init_String().

static VALUE sym_casecmp ( VALUE  sym,
VALUE  other 
) [static]

Definition at line 7580 of file string.c.

References Qnil, rb_str_casecmp(), rb_sym_to_s(), and SYMBOL_P.

Referenced by Init_String().

static VALUE sym_cmp ( VALUE  sym,
VALUE  other 
) [static]

Definition at line 7563 of file string.c.

References Qnil, rb_str_cmp_m(), rb_sym_to_s(), and SYMBOL_P.

Referenced by Init_String().

static VALUE sym_downcase ( VALUE  sym) [static]

Definition at line 7662 of file string.c.

References rb_id2str(), rb_str_downcase(), rb_str_intern(), and SYM2ID.

Referenced by Init_String().

static VALUE sym_empty ( VALUE  sym) [static]

Definition at line 7636 of file string.c.

References rb_id2str(), rb_str_empty(), and SYM2ID.

Referenced by Init_String().

static VALUE sym_encoding ( VALUE  sym) [static]

Definition at line 7701 of file string.c.

References rb_id2str(), rb_obj_encoding(), and SYM2ID.

static VALUE sym_equal ( VALUE  sym1,
VALUE  sym2 
) [static]

Definition at line 7388 of file string.c.

References Qfalse, and Qtrue.

Referenced by Init_String().

static VALUE sym_inspect ( VALUE  sym) [static]
static VALUE sym_length ( VALUE  sym) [static]

Definition at line 7623 of file string.c.

References rb_id2str(), rb_str_length(), and SYM2ID.

Referenced by Init_String().

static VALUE sym_match ( VALUE  sym,
VALUE  other 
) [static]

Definition at line 7596 of file string.c.

References rb_str_match(), and rb_sym_to_s().

Referenced by Init_String().

static int sym_printable ( const char *  s,
const char *  send,
rb_encoding enc 
) [static]

Definition at line 7396 of file string.c.

References FALSE, rb_enc_codepoint_len(), rb_enc_isprint, and TRUE.

Referenced by sym_inspect().

static VALUE sym_succ ( VALUE  sym) [static]

Definition at line 7549 of file string.c.

References rb_str_intern(), rb_str_succ(), and rb_sym_to_s().

Referenced by Init_String().

static VALUE sym_swapcase ( VALUE  sym) [static]

Definition at line 7688 of file string.c.

References rb_id2str(), rb_str_intern(), rb_str_swapcase(), and SYM2ID.

Referenced by Init_String().

static VALUE sym_to_proc ( VALUE  sym) [static]
static VALUE sym_to_sym ( VALUE  sym) [static]

Definition at line 7484 of file string.c.

References sym.

Referenced by Init_String().

static VALUE sym_upcase ( VALUE  sym) [static]

Definition at line 7649 of file string.c.

References rb_id2str(), rb_str_intern(), rb_str_upcase(), and SYM2ID.

Referenced by Init_String().

static int tr_find ( unsigned int  c,
char  table[TR_TABLE_SIZE],
VALUE  del,
VALUE  nodel 
) [static]

Definition at line 5347 of file string.c.

References FALSE, NIL_P, rb_hash_lookup, TRUE, and UINT2NUM().

Referenced by rb_str_count(), rb_str_delete_bang(), and rb_str_squeeze_bang().

static void tr_setup_table ( VALUE  str,
char  stable[TR_TABLE_SIZE],
int  first,
VALUE tablep,
VALUE ctablep,
rb_encoding enc 
) [static]
static VALUE tr_trans ( VALUE  str,
VALUE  src,
VALUE  repl,
int  sflag 
) [static]
static unsigned int trnext ( struct tr t,
rb_encoding enc 
) [static]

Definition at line 4950 of file string.c.

References tr::gen, tr::max, tr::now, tr::p, tr::pend, rb_eArgError, rb_enc_codepoint_len(), and rb_raise().

Referenced by tr_setup_table(), and tr_trans().


Variable Documentation

ID id_to_s [static]

Definition at line 851 of file string.c.

const char isspacetable[256] [static]
Initial value:
 {
    0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}

Definition at line 5684 of file string.c.

Definition at line 51 of file string.c.

Definition at line 52 of file string.c.

Definition at line 141 of file string.c.