2007-12-22 08:38:33 +03:00
|
|
|
#include "regenc.h"
|
2016-12-10 20:47:04 +03:00
|
|
|
#ifdef RUBY
|
|
|
|
# include "encindex.h"
|
|
|
|
#endif
|
|
|
|
|
2015-09-15 08:49:52 +03:00
|
|
|
#ifndef ENCINDEX_US_ASCII
|
2016-12-10 20:47:04 +03:00
|
|
|
# define ENCINDEX_US_ASCII 0
|
2015-09-15 08:49:52 +03:00
|
|
|
#endif
|
2007-12-22 08:38:33 +03:00
|
|
|
|
2008-10-24 23:00:35 +04:00
|
|
|
static int
|
2008-01-02 23:06:58 +03:00
|
|
|
us_ascii_mbc_enc_len(const UChar* p, const UChar* e, OnigEncoding enc)
|
2007-12-22 08:38:33 +03:00
|
|
|
{
|
2014-09-15 20:18:41 +04:00
|
|
|
if (*p & 0x80)
|
|
|
|
return ONIGENC_CONSTRUCT_MBCLEN_INVALID();
|
|
|
|
return ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(1);
|
2007-12-22 08:38:33 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
OnigEncodingDefine(us_ascii, US_ASCII) = {
|
2008-01-02 23:06:58 +03:00
|
|
|
us_ascii_mbc_enc_len,
|
2007-12-22 08:38:33 +03:00
|
|
|
"US-ASCII",/* name */
|
|
|
|
1, /* max byte length */
|
|
|
|
1, /* min byte length */
|
|
|
|
onigenc_is_mbc_newline_0x0a,
|
|
|
|
onigenc_single_byte_mbc_to_code,
|
|
|
|
onigenc_single_byte_code_to_mbclen,
|
|
|
|
onigenc_single_byte_code_to_mbc,
|
|
|
|
onigenc_ascii_mbc_case_fold,
|
|
|
|
onigenc_ascii_apply_all_case_fold,
|
|
|
|
onigenc_ascii_get_case_fold_codes_by_str,
|
|
|
|
onigenc_minimum_property_name_to_ctype,
|
|
|
|
onigenc_ascii_is_code_ctype,
|
|
|
|
onigenc_not_support_get_ctype_code_range,
|
|
|
|
onigenc_single_byte_left_adjust_char_head,
|
2012-02-17 11:42:23 +04:00
|
|
|
onigenc_always_true_is_allowed_reverse_match,
|
2016-12-10 20:47:04 +03:00
|
|
|
onigenc_single_byte_ascii_only_case_map,
|
2015-09-15 08:49:52 +03:00
|
|
|
ENCINDEX_US_ASCII,
|
2012-02-17 11:42:23 +04:00
|
|
|
ONIGENC_FLAG_NONE,
|
2007-12-22 08:38:33 +03:00
|
|
|
};
|
2008-07-01 12:39:10 +04:00
|
|
|
ENC_ALIAS("ASCII", "US-ASCII")
|
|
|
|
ENC_ALIAS("ANSI_X3.4-1968", "US-ASCII")
|
|
|
|
ENC_ALIAS("646", "US-ASCII")
|