diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-18 12:53:25 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-18 12:53:25 +0000 |
commit | 081c802cb9fe84d349bc4ecf26a36eceae431aed (patch) | |
tree | 4e0e385b4fd86fd99da61032af2c40db7edf5f76 /enc/emacs_mule.c | |
parent | 22987dc7fe5830d8423f8153bef0310339e178f4 (diff) | |
download | ruby-081c802cb9fe84d349bc4ecf26a36eceae431aed.tar.gz |
* grapheme cluster implementation reverted. [ruby-dev:36375]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc/emacs_mule.c')
-rw-r--r-- | enc/emacs_mule.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/enc/emacs_mule.c b/enc/emacs_mule.c index d58b9dfa9d..be7f842259 100644 --- a/enc/emacs_mule.c +++ b/enc/emacs_mule.c @@ -223,9 +223,21 @@ mbc_enc_len(const UChar* p, const UChar* e, OnigEncoding enc ARG_UNUSED) } static OnigCodePoint -mbc_to_code(const UChar* p, const UChar* end, int *precise_ret, OnigEncoding enc) +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 |