From 081c802cb9fe84d349bc4ecf26a36eceae431aed Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 18 Sep 2008 12:53:25 +0000 Subject: * grapheme cluster implementation reverted. [ruby-dev:36375] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- enc/gb18030.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'enc/gb18030.c') diff --git a/enc/gb18030.c b/enc/gb18030.c index ba6111b504..16c8c1c17f 100644 --- a/enc/gb18030.c +++ b/enc/gb18030.c @@ -164,9 +164,21 @@ gb18030_mbc_enc_len(const UChar* p, const UChar* e, OnigEncoding enc ARG_UNUSED) } static OnigCodePoint -gb18030_mbc_to_code(const UChar* p, const UChar* end, int *precise_ret, OnigEncoding enc) +gb18030_mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc) { - return onigenc_mbn_mbc_to_code(enc, p, end, precise_ret); + int c, i, len; + OnigCodePoint n; + + len = enclen(enc, p, end); + n = (OnigCodePoint )(*p++); + if (len == 1) return n; + + for (i = 1; i < len; i++) { + if (p >= end) break; + c = *p++; + n <<= 8; n += c; + } + return n; } static int -- cgit v1.2.3