ruby-changes:2653
From: ko1@a...
Date: 9 Dec 2007 04:14:11 +0900
Subject: [ruby-changes:2653] akr - Ruby:r14144 (trunk): * encoding.c (rb_enc_precise_mbclen): return needmore if underlying
akr 2007-12-09 04:10:58 +0900 (Sun, 09 Dec 2007)
New Revision: 14144
Modified files:
trunk/ChangeLog
trunk/encoding.c
Log:
* encoding.c (rb_enc_precise_mbclen): return needmore if underlying
implementation returns a length longer than e-p.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14144&r2=14143
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/encoding.c?r1=14144&r2=14143
Index: encoding.c
===================================================================
--- encoding.c (revision 14143)
+++ encoding.c (revision 14144)
@@ -496,9 +496,13 @@
int
rb_enc_precise_mbclen(const char *p, const char *e, rb_encoding *enc)
{
+ int n;
if (e <= p)
return ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE(1);
- return ONIGENC_PRECISE_MBC_ENC_LEN(enc, (UChar*)p, (UChar*)e);
+ n = ONIGENC_PRECISE_MBC_ENC_LEN(enc, (UChar*)p, (UChar*)e);
+ if (e-p < n)
+ return ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE(n-(e-p));
+ return n;
}
int rb_enc_get_ascii(const char *p, const char *e, rb_encoding *enc)
Index: ChangeLog
===================================================================
--- ChangeLog (revision 14143)
+++ ChangeLog (revision 14144)
@@ -1,7 +1,9 @@
-Sun Dec 9 03:29:02 2007 Tanaka Akira <akr@f...>
+Sun Dec 9 04:01:28 2007 Tanaka Akira <akr@f...>
* encoding.c (rb_enc_mbclen): return 1 if underlying implementation
returns a length longer than e-p.
+ (rb_enc_precise_mbclen): return needmore if underlying
+ implementation returns a length longer than e-p.
Sat Dec 8 17:59:40 2007 Tanaka Akira <akr@f...>
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml