From bcb064eb0f639493f42284570377c521c371c6c2 Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 22 Dec 2007 05:38:33 +0000 Subject: * regenc.c (onigenc_ascii_is_code_ctype): moved from enc/ascii.c. * regenc.h (onigenc_ascii_is_code_ctype): declared. * enc/ascii.c: use onigenc_ascii_is_code_ctype. * enc/us_ascii.c: new file for US-ASCII. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- enc/ascii.c | 11 +---------- enc/us_ascii.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 10 deletions(-) create mode 100644 enc/us_ascii.c (limited to 'enc') diff --git a/enc/ascii.c b/enc/ascii.c index 3a40ad68be..f9a619d700 100644 --- a/enc/ascii.c +++ b/enc/ascii.c @@ -29,15 +29,6 @@ #include "regenc.h" -static int -ascii_is_code_ctype(OnigCodePoint code, unsigned int ctype, OnigEncoding enc) -{ - if (code < 128) - return ONIGENC_IS_ASCII_CODE_CTYPE(code, ctype); - else - return FALSE; -} - OnigEncodingDefine(ascii, ASCII) = { onigenc_single_byte_mbc_enc_len, "ASCII-8BIT",/* name */ @@ -51,7 +42,7 @@ OnigEncodingDefine(ascii, ASCII) = { onigenc_ascii_apply_all_case_fold, onigenc_ascii_get_case_fold_codes_by_str, onigenc_minimum_property_name_to_ctype, - ascii_is_code_ctype, + onigenc_ascii_is_code_ctype, onigenc_not_support_get_ctype_code_range, onigenc_single_byte_left_adjust_char_head, onigenc_always_true_is_allowed_reverse_match diff --git a/enc/us_ascii.c b/enc/us_ascii.c new file mode 100644 index 0000000000..9201679871 --- /dev/null +++ b/enc/us_ascii.c @@ -0,0 +1,28 @@ +#include "regenc.h" + +extern int +mbc_enc_len(const UChar* p, const UChar* e, OnigEncoding enc) +{ + if (*p & 0x80) + return ONIGENC_CONSTRUCT_MBCLEN_INVALID(); + return ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(1); +} + +OnigEncodingDefine(us_ascii, US_ASCII) = { + mbc_enc_len, + "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, + onigenc_always_true_is_allowed_reverse_match +}; -- cgit v1.2.3