regenc.c File Reference
`#include "regint.h"`

Go to the source code of this file.

## Macros

#define | PROP_INIT_SIZE 16

## Functions

int | onigenc_init (void)
OnigEncoding | onigenc_get_default_encoding (void)
int | onigenc_set_default_encoding (OnigEncoding enc)
int | onigenc_mbclen_approximate (const OnigUChar *p, const OnigUChar *e, struct OnigEncodingTypeST *enc)
UChar * | onigenc_get_right_adjust_char_head (OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end)
UChar * | onigenc_get_right_adjust_char_head_with_prev (OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end, const UChar **prev)
UChar * | onigenc_get_prev_char_head (OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end)
UChar * | onigenc_step_back (OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end, int n)
UChar * | onigenc_step (OnigEncoding enc, const UChar *p, const UChar *end, int n)
int | onigenc_strlen (OnigEncoding enc, const UChar *p, const UChar *end)
int | onigenc_strlen_null (OnigEncoding enc, const UChar *s)
int | onigenc_str_bytelen_null (OnigEncoding enc, const UChar *s)
void | onigenc_set_default_caseconv_table (const UChar *table ARG_UNUSED)
UChar * | onigenc_get_left_adjust_char_head (OnigEncoding enc, const UChar *start, const UChar *s, const UChar *end)
int | onigenc_ascii_apply_all_case_fold (OnigCaseFoldType flag ARG_UNUSED, OnigApplyAllCaseFoldFunc f, void *arg, OnigEncoding enc ARG_UNUSED)
int | onigenc_ascii_get_case_fold_codes_by_str (OnigCaseFoldType flag ARG_UNUSED, const OnigUChar *p, const OnigUChar *end ARG_UNUSED, OnigCaseFoldCodeItem items[], OnigEncoding enc ARG_UNUSED)
static int | ss_apply_all_case_fold (OnigCaseFoldType flag ARG_UNUSED, OnigApplyAllCaseFoldFunc f, void *arg)
int | onigenc_apply_all_case_fold_with_map (int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void *arg)
int | onigenc_get_case_fold_codes_by_str_with_map (int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag ARG_UNUSED, const OnigUChar *p, const OnigUChar *end, OnigCaseFoldCodeItem items[])
int | onigenc_not_support_get_ctype_code_range (OnigCtype ctype, OnigCodePoint *sb_out, const OnigCodePoint *ranges[], OnigEncoding enc)
int | onigenc_is_mbc_newline_0x0a (const UChar *p, const UChar *end, OnigEncoding enc ARG_UNUSED)
int | onigenc_ascii_mbc_case_fold (OnigCaseFoldType flag ARG_UNUSED, const UChar **p, const UChar *end, UChar *lower, OnigEncoding enc ARG_UNUSED)
int | onigenc_single_byte_mbc_enc_len (const UChar *p ARG_UNUSED, const UChar *e ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
OnigCodePoint | onigenc_single_byte_mbc_to_code (const UChar *p, const UChar *end ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
int | onigenc_single_byte_code_to_mbclen (OnigCodePoint code ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
int | onigenc_single_byte_code_to_mbc (OnigCodePoint code, UChar *buf, OnigEncoding enc ARG_UNUSED)
UChar * | onigenc_single_byte_left_adjust_char_head (const UChar *start ARG_UNUSED, const UChar *s, const UChar *end, OnigEncoding enc ARG_UNUSED)
int | onigenc_always_true_is_allowed_reverse_match (const UChar *s ARG_UNUSED, const UChar *end ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
int | onigenc_always_false_is_allowed_reverse_match (const UChar *s ARG_UNUSED, const UChar *end ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
int | onigenc_ascii_is_code_ctype (OnigCodePoint code, unsigned int ctype, OnigEncoding enc ARG_UNUSED)
OnigCodePoint | onigenc_mbn_mbc_to_code (OnigEncoding enc, const UChar *p, const UChar *end)
int | onigenc_mbn_mbc_case_fold (OnigEncoding enc, OnigCaseFoldType flag ARG_UNUSED, const UChar **pp, const UChar *end ARG_UNUSED, UChar *lower)
int | onigenc_mb2_code_to_mbclen (OnigCodePoint code, OnigEncoding enc ARG_UNUSED)
int | onigenc_mb4_code_to_mbclen (OnigCodePoint code, OnigEncoding enc ARG_UNUSED)
int | onigenc_mb2_code_to_mbc (OnigEncoding enc, OnigCodePoint code, UChar *buf)
int | onigenc_mb4_code_to_mbc (OnigEncoding enc, OnigCodePoint code, UChar *buf)
int | onigenc_minimum_property_name_to_ctype (OnigEncoding enc, UChar *p, UChar *end)
int | onigenc_mb2_is_code_ctype (OnigEncoding enc, OnigCodePoint code, unsigned int ctype)
int | onigenc_mb4_is_code_ctype (OnigEncoding enc, OnigCodePoint code, unsigned int ctype)
int | onigenc_with_ascii_strncmp (OnigEncoding enc, const UChar *p, const UChar *end, const UChar *sascii, int n)
static int | resize_property_list (int new_size, const OnigCodePoint ***plist, int *psize)
int | onigenc_property_list_add_property (UChar *name, const OnigCodePoint *prop, hash_table_type **table, const OnigCodePoint ***plist, int *pnum, int *psize)
int | onigenc_property_list_init (int(*f)(void))

## Variables

OnigEncoding | OnigEncDefaultCharEncoding = ONIG_ENCODING_INIT_DEFAULT
const UChar | OnigEncAsciiToLowerCaseTable []
const unsigned short | OnigEncAsciiCtypeTable [256]
const UChar | OnigEncISO_8859_1_ToLowerCaseTable [256]
const OnigPairCaseFoldCodes | OnigAsciiLowerMap []

## Macro Definition Documentation

#define PROP_INIT_SIZE 16

Referenced by onigenc_property_list_add_property().

## Function Documentation

int onigenc_always_false_is_allowed_reverse_match | ( | const UChar *s | ARG_UNUSED,
|  | const UChar *end | ARG_UNUSED,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 656 of file regenc.c.

References FALSE.

int onigenc_always_true_is_allowed_reverse_match | ( | const UChar *s | ARG_UNUSED,
|  | const UChar *end | ARG_UNUSED,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 649 of file regenc.c.

References TRUE.

int onigenc_apply_all_case_fold_with_map | ( | int | map_size,
|  | const OnigPairCaseFoldCodes | map[],
|  | int | ess_tsett_flag,
|  | OnigCaseFoldType | flag,
|  | OnigApplyAllCaseFoldFunc | f,
|  | void * | arg
| ) |  |

Definition at line 462 of file regenc.c.

References arg, OnigPairCaseFoldCodes::from, i, onigenc_ascii_apply_all_case_fold(), ss_apply_all_case_fold(), and OnigPairCaseFoldCodes::to.

Referenced by apply_all_case_fold(), cp1251_apply_all_case_fold(), koi8_r_apply_all_case_fold(), and koi8_u_apply_all_case_fold().

int onigenc_ascii_apply_all_case_fold | ( | OnigCaseFoldType flag | ARG_UNUSED,
|  | OnigApplyAllCaseFoldFunc | f,
|  | void * | arg,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 409 of file regenc.c.

References arg, OnigPairCaseFoldCodes::from, i, and OnigPairCaseFoldCodes::to.

Referenced by onigenc_apply_all_case_fold_with_map().

int onigenc_ascii_get_case_fold_codes_by_str | ( | OnigCaseFoldType flag | ARG_UNUSED,
|  | const OnigUChar * | p,
|  | const OnigUChar *end | ARG_UNUSED,
|  | OnigCaseFoldCodeItem | items[],
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 432 of file regenc.c.

References OnigCaseFoldCodeItem::byte_len, OnigCaseFoldCodeItem::code, and OnigCaseFoldCodeItem::code_len.

int onigenc_ascii_is_code_ctype | ( | OnigCodePoint | code,
|  | unsigned int | ctype,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 663 of file regenc.c.

References FALSE, and ONIGENC_IS_ASCII_CODE_CTYPE.

int onigenc_ascii_mbc_case_fold | ( | OnigCaseFoldType flag | ARG_UNUSED,
|  | const UChar ** | p,
|  | const UChar * | end,
|  | UChar * | lower,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 590 of file regenc.c.

References ONIGENC_ASCII_CODE_TO_LOWER_CASE.

int onigenc_get_case_fold_codes_by_str_with_map | ( | int | map_size,
|  | const OnigPairCaseFoldCodes | map[],
|  | int | ess_tsett_flag,
|  | OnigCaseFoldType flag | ARG_UNUSED,
|  | const OnigUChar * | p,
|  | const OnigUChar * | end,
|  | OnigCaseFoldCodeItem | items[]
| ) |  |

Definition at line 490 of file regenc.c.

References OnigCaseFoldCodeItem::byte_len, OnigCaseFoldCodeItem::code, OnigCaseFoldCodeItem::code_len, OnigPairCaseFoldCodes::from, i, and OnigPairCaseFoldCodes::to.

Referenced by cp1251_get_case_fold_codes_by_str(), get_case_fold_codes_by_str(), koi8_r_get_case_fold_codes_by_str(), and koi8_u_get_case_fold_codes_by_str().

OnigEncoding onigenc_get_default_encoding | ( | void |  | ) |

Definition at line 41 of file regenc.c.

References OnigEncDefaultCharEncoding.

UChar* onigenc_get_left_adjust_char_head | ( | OnigEncoding | enc,
|  | const UChar * | start,
|  | const UChar * | s,
|  | const UChar * | end
| ) |  |

Definition at line 374 of file regenc.c.

References ONIGENC_LEFT_ADJUST_CHAR_HEAD.

UChar* onigenc_get_prev_char_head | ( | OnigEncoding | enc,
|  | const UChar * | start,
|  | const UChar * | s,
|  | const UChar * | end
| ) |  |

Definition at line 91 of file regenc.c.

References NULL, ONIGENC_LEFT_ADJUST_CHAR_HEAD, and UChar.

Referenced by backward_search_range(), forward_search_range(), map_search_backward(), match_at(), onig_match(), onig_search(), slow_search_backward(), slow_search_backward_ic(), and str_node_split_last_char().

UChar* onigenc_get_right_adjust_char_head | ( | OnigEncoding | enc,
|  | const UChar * | start,
|  | const UChar * | s,
|  | const UChar * | end
| ) |  |

Definition at line 65 of file regenc.c.

References enclen, ONIGENC_LEFT_ADJUST_CHAR_HEAD, p, and UChar.

Referenced by backward_search_range(), onig_search(), and rb_reg_adjust_startpos().

UChar* onigenc_get_right_adjust_char_head_with_prev | ( | OnigEncoding | enc,
|  | const UChar * | start,
|  | const UChar * | s,
|  | const UChar * | end,
|  | const UChar ** | prev
| ) |  |

Definition at line 75 of file regenc.c.

References enclen, NULL, ONIGENC_LEFT_ADJUST_CHAR_HEAD, p, and UChar.

Referenced by forward_search_range().

int onigenc_init | ( | void |  | ) |

Definition at line 35 of file regenc.c.

Referenced by onig_init().

int onigenc_is_mbc_newline_0x0a | ( | const UChar * | p,
|  | const UChar * | end,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 580 of file regenc.c.

int onigenc_mb2_code_to_mbc | ( | OnigEncoding | enc,
|  | OnigCodePoint | code,
|  | UChar * | buf
| ) |  |

Definition at line 750 of file regenc.c.

References buf, enclen, ONIGERR_INVALID_CODE_POINT_VALUE, and UChar.

Referenced by big5_code_to_mbc(), cp949_code_to_mbc(), euckr_code_to_mbc(), and gbk_code_to_mbc().

int onigenc_mb2_code_to_mbclen | ( | OnigCodePoint | code,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 733 of file regenc.c.

References ONIGERR_TOO_BIG_WIDE_CHAR_VALUE.

int onigenc_mb2_is_code_ctype | ( | OnigEncoding | enc,
|  | OnigCodePoint | code,
|  | unsigned int | ctype
| ) |  |

Definition at line 823 of file regenc.c.

References CTYPE_IS_WORD_GRAPH_PRINT, FALSE, ONIGENC_CODE_TO_MBCLEN, ONIGENC_IS_ASCII_CODE_CTYPE, and TRUE.

Referenced by big5_is_code_ctype(), cp949_is_code_ctype(), euckr_is_code_ctype(), and gbk_is_code_ctype().

int onigenc_mb4_code_to_mbc | ( | OnigEncoding | enc,
|  | OnigCodePoint | code,
|  | UChar * | buf
| ) |  |

Definition at line 767 of file regenc.c.

References buf, enclen, ONIGERR_INVALID_CODE_POINT_VALUE, and UChar.

Referenced by euctw_code_to_mbc(), and gb18030_code_to_mbc().

int onigenc_mb4_code_to_mbclen | ( | OnigCodePoint | code,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 741 of file regenc.c.

int onigenc_mb4_is_code_ctype | ( | OnigEncoding | enc,
|  | OnigCodePoint | code,
|  | unsigned int | ctype
| ) |  |

Definition at line 838 of file regenc.c.

References CTYPE_IS_WORD_GRAPH_PRINT, FALSE, ONIGENC_CODE_TO_MBCLEN, ONIGENC_IS_ASCII_CODE_CTYPE, and TRUE.

Referenced by euctw_is_code_ctype(), and gb18030_is_code_ctype().

int onigenc_mbclen_approximate | ( | const OnigUChar * | p,
|  | const OnigUChar * | e,
|  | struct OnigEncodingTypeST * | enc
| ) |  |

Definition at line 54 of file regenc.c.

References ONIGENC_MBCLEN_CHARFOUND_LEN, ONIGENC_MBCLEN_CHARFOUND_P, ONIGENC_MBCLEN_NEEDMORE_LEN, ONIGENC_MBCLEN_NEEDMORE_P, ONIGENC_PRECISE_MBC_ENC_LEN, and p.

int onigenc_mbn_mbc_case_fold | ( | OnigEncoding | enc,
|  | OnigCaseFoldType flag | ARG_UNUSED,
|  | const UChar ** | pp,
|  | const UChar *end | ARG_UNUSED,
|  | UChar * | lower
| ) |  |

Definition at line 691 of file regenc.c.

References enclen, i, len, ONIGENC_ASCII_CODE_TO_LOWER_CASE, ONIGENC_IS_MBC_ASCII, p, and UChar.

Referenced by big5_mbc_case_fold(), cp949_mbc_case_fold(), euckr_mbc_case_fold(), euctw_mbc_case_fold(), gb18030_mbc_case_fold(), and gbk_mbc_case_fold().

OnigCodePoint onigenc_mbn_mbc_to_code | ( | OnigEncoding | enc,
|  | const UChar * | p,
|  | const UChar * | end
| ) |  |

Definition at line 673 of file regenc.c.

References enclen, i, and len.

Referenced by big5_mbc_to_code(), cp949_mbc_to_code(), euckr_mbc_to_code(), euctw_mbc_to_code(), and gbk_mbc_to_code().

int onigenc_minimum_property_name_to_ctype | ( | OnigEncoding | enc,
|  | UChar * | p,
|  | UChar * | end
| ) |  |

Definition at line 790 of file regenc.c.

References PosixBracketEntryType::ctype, PosixBracketEntryType::len, len, PosixBracketEntryType::name, ONIGENC_CTYPE_ALNUM, ONIGENC_CTYPE_ALPHA, ONIGENC_CTYPE_ASCII, ONIGENC_CTYPE_BLANK, ONIGENC_CTYPE_CNTRL, ONIGENC_CTYPE_DIGIT, ONIGENC_CTYPE_GRAPH, ONIGENC_CTYPE_LOWER, ONIGENC_CTYPE_PRINT, ONIGENC_CTYPE_PUNCT, ONIGENC_CTYPE_SPACE, ONIGENC_CTYPE_UPPER, ONIGENC_CTYPE_WORD, ONIGENC_CTYPE_XDIGIT, onigenc_strlen(), ONIGERR_INVALID_CHAR_PROPERTY_NAME, PosixBracketEntryInit, and STRNCASECMP.

Referenced by property_name_to_ctype().

int onigenc_not_support_get_ctype_code_range | ( | OnigCtype | ctype,
|  | OnigCodePoint * | sb_out,
|  | const OnigCodePoint * | ranges[],
|  | OnigEncoding | enc
| ) |  |

Definition at line 572 of file regenc.c.

References ONIG_NO_SUPPORT_CONFIG.

int onigenc_property_list_add_property | ( | UChar * | name,
|  | const OnigCodePoint * | prop,
|  | hash_table_type ** | table,
|  | const OnigCodePoint *** | plist,
|  | int * | pnum,
|  | int * | psize
| ) |  |

Definition at line 895 of file regenc.c.

References new_size(), ONIG_IS_NULL, onig_st_init_strend_table_with_size(), onig_st_insert_strend(), ONIGENC_MAX_STD_CTYPE, ONIGERR_MEMORY, PROP_INIT_SIZE, resize_property_list(), and strlen().

int onigenc_property_list_init | ( | int(*)(void) | f | ) |

Definition at line 923 of file regenc.c.

References THREAD_ATOMIC_END, and THREAD_ATOMIC_START.

void onigenc_set_default_caseconv_table | ( | const UChar *table | ARG_UNUSED | ) |

Definition at line 367 of file regenc.c.

Referenced by Init_Regexp().

int onigenc_set_default_encoding | ( | OnigEncoding | enc | ) |

Definition at line 47 of file regenc.c.

Referenced by Init_Regexp().

int onigenc_single_byte_code_to_mbc | ( | OnigCodePoint | code,
|  | UChar * | buf,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 632 of file regenc.c.

References rb_eRangeError, rb_raise(), and UChar.

int onigenc_single_byte_code_to_mbclen | ( | OnigCodePoint code | ARG_UNUSED,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 626 of file regenc.c.

UChar* onigenc_single_byte_left_adjust_char_head | ( | const UChar *start | ARG_UNUSED,
|  | const UChar * | s,
|  | const UChar * | end,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 641 of file regenc.c.

References UChar.

int onigenc_single_byte_mbc_enc_len | ( | const UChar *p | ARG_UNUSED,
|  | const UChar *e | ARG_UNUSED,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 612 of file regenc.c.

OnigCodePoint onigenc_single_byte_mbc_to_code | ( | const UChar * | p,
|  | const UChar *end | ARG_UNUSED,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

Definition at line 619 of file regenc.c.

UChar* onigenc_step | ( | OnigEncoding | enc,
|  | const UChar * | p,
|  | const UChar * | end,
|  | int | n
| ) |  |

Definition at line 112 of file regenc.c.

References NULL, ONIGENC_MBC_ENC_LEN, and UChar.

Referenced by parse_posix_bracket().

UChar* onigenc_step_back | ( | OnigEncoding | enc,
|  | const UChar * | start,
|  | const UChar * | s,
|  | const UChar * | end,
|  | int | n
| ) |  |

Definition at line 100 of file regenc.c.

References NULL, ONIG_IS_NOT_NULL, ONIGENC_LEFT_ADJUST_CHAR_HEAD, and UChar.

int onigenc_str_bytelen_null | ( | OnigEncoding | enc,
|  | const UChar * | s
| ) |  |

Definition at line 162 of file regenc.c.

References len, ONIGENC_MBC_ENC_LEN, ONIGENC_MBC_MAXLEN, ONIGENC_MBC_MINLEN, p, and UChar.

Referenced by onig_error_code_to_str(), and onig_vsnprintf_with_pattern().

int onigenc_strlen | ( | OnigEncoding | enc,
|  | const UChar * | p,
|  | const UChar * | end
| ) |  |

Definition at line 122 of file regenc.c.

References ONIGENC_MBC_ENC_LEN, and UChar.

Referenced by onigenc_minimum_property_name_to_ctype(), optimize_node_left(), and parse_posix_bracket().

int onigenc_strlen_null | ( | OnigEncoding | enc,
|  | const UChar * | s
| ) |  |

Definition at line 135 of file regenc.c.

References len, ONIGENC_MBC_ENC_LEN, ONIGENC_MBC_MAXLEN, ONIGENC_MBC_MINLEN, p, and UChar.

int onigenc_with_ascii_strncmp | ( | OnigEncoding | enc,
|  | const UChar * | p,
|  | const UChar * | end,
|  | const UChar * | sascii,
|  | int | n
| ) |  |

Definition at line 853 of file regenc.c.

References enclen, and ONIGENC_MBC_TO_CODE.

Referenced by parse_posix_bracket().

static int resize_property_list | ( | int | new_size,
|  | const OnigCodePoint *** | plist,
|  | int * | psize
| ) |  |

static

Definition at line 873 of file regenc.c.

References IS_NULL, list, new_size(), ONIGERR_MEMORY, size, xmalloc, and xrealloc.

Referenced by onigenc_property_list_add_property().

static int ss_apply_all_case_fold | ( | OnigCaseFoldType flag | ARG_UNUSED,
|  | OnigApplyAllCaseFoldFunc | f,
|  | void * | arg
| ) |  |

static

Definition at line 453 of file regenc.c.

Referenced by onigenc_apply_all_case_fold_with_map().

## Variable Documentation

const OnigPairCaseFoldCodes OnigAsciiLowerMap[]

Initial value:
= {
{ 0x41, 0x61 },
{ 0x42, 0x62 },
{ 0x43, 0x63 },
{ 0x44, 0x64 },
{ 0x45, 0x65 },
{ 0x46, 0x66 },
{ 0x47, 0x67 },
{ 0x48, 0x68 },
{ 0x49, 0x69 },
{ 0x4a, 0x6a },
{ 0x4b, 0x6b },
{ 0x4c, 0x6c },
{ 0x4d, 0x6d },
{ 0x4e, 0x6e },
{ 0x4f, 0x6f },
{ 0x50, 0x70 },
{ 0x51, 0x71 },
{ 0x52, 0x72 },
{ 0x53, 0x73 },
{ 0x54, 0x74 },
{ 0x55, 0x75 },
{ 0x56, 0x76 },
{ 0x57, 0x77 },
{ 0x58, 0x78 },
{ 0x59, 0x79 },
{ 0x5a, 0x7a }
}

Definition at line 379 of file regenc.c.

const unsigned short OnigEncAsciiCtypeTable[256]

Definition at line 259 of file regenc.c.

const UChar OnigEncAsciiToLowerCaseTable[]

Definition at line 187 of file regenc.c.

OnigEncoding OnigEncDefaultCharEncoding = ONIG_ENCODING_INIT_DEFAULT

Definition at line 32 of file regenc.c.

const UChar OnigEncISO_8859_1_ToLowerCaseTable[256]

Definition at line 294 of file regenc.c.