ruby-changes:4093
From: ko1@a...
Date: Sat, 23 Feb 2008 20:18:27 +0900 (JST)
Subject: [ruby-changes:4093] naruse - Ruby:r15583 (trunk): * string.c (str_sublen): removed.
naruse 2008-02-23 20:18:07 +0900 (Sat, 23 Feb 2008)
New Revision: 15583
Modified files:
trunk/ChangeLog
trunk/string.c
Log:
* string.c (str_sublen): removed.
* string.c (rb_str_reverse, rb_str_reverse_bang): use
single_byte_optimizable.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/string.c?r1=15583&r2=15582&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15583&r2=15582&diff_format=u
Index: ChangeLog
===================================================================
--- ChangeLog (revision 15582)
+++ ChangeLog (revision 15583)
@@ -1,3 +1,10 @@
+Sat Feb 23 20:16:05 2008 NARUSE, Yui <naruse@r...>
+
+ * string.c (str_sublen): removed.
+
+ * string.c (rb_str_reverse, rb_str_reverse_bang): use
+ single_byte_optimizable.
+
Sat Feb 23 19:25:18 2008 NARUSE, Yui <naruse@r...>
* string.c (rb_enc_cr_str_copy_for_substr): renamed from
Index: string.c
===================================================================
--- string.c (revision 15582)
+++ string.c (revision 15583)
@@ -1165,23 +1165,17 @@
}
#endif
-static long
-str_sublen(VALUE str, long pos, rb_encoding *enc)
+long
+rb_str_sublen(VALUE str, long pos)
{
- if (rb_enc_mbmaxlen(enc) == 1 || pos < 0)
+ if (single_byte_optimizable(str) || pos < 0)
return pos;
else {
char *p = RSTRING_PTR(str);
- return rb_enc_strlen(p, p + pos, enc);
+ return rb_enc_strlen(p, p + pos, STR_ENC_GET(str));
}
}
-int
-rb_str_sublen(VALUE str, int len)
-{
- return str_sublen(str, len, STR_ENC_GET(str));
-}
-
VALUE
rb_str_subseq(VALUE str, long beg, long len)
{
@@ -3480,7 +3474,7 @@
p = RSTRING_END(obj);
if (RSTRING_LEN(str) > 1) {
- if (rb_enc_mbmaxlen(enc) == 1) {
+ if (single_byte_optimizable(str)) {
while (s < e) {
*--p = *s++;
}
@@ -3521,7 +3515,7 @@
s = RSTRING_PTR(str);
e = RSTRING_END(str) - 1;
- if (rb_enc_mbmaxlen(enc) == 1) {
+ if (single_byte_optimizable(str)) {
while (s < e) {
c = *s;
*s++ = *e;
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/