Skip to content

Commit

Permalink
* string.c (str_sublen): removed.
Browse files Browse the repository at this point in the history
* string.c (rb_str_reverse, rb_str_reverse_bang): use 
  single_byte_optimizable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nurse committed Feb 23, 2008
1 parent 386aa4c commit c1d3465
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 12 deletions.
7 changes: 7 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
Sat Feb 23 20:16:05 2008 NARUSE, Yui <[email protected]>

* 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 <[email protected]>

* string.c (rb_enc_cr_str_copy_for_substr): renamed from
Expand Down
18 changes: 6 additions & 12 deletions string.c
Original file line number Diff line number Diff line change
Expand Up @@ -1165,23 +1165,17 @@ str_utf8_offset(const char *p, const char *e, int nth)
}
#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)
{
Expand Down Expand Up @@ -3480,7 +3474,7 @@ rb_str_reverse(VALUE str)
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++;
}
Expand Down Expand Up @@ -3521,7 +3515,7 @@ rb_str_reverse_bang(VALUE str)
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;
Expand Down

0 comments on commit c1d3465

Please sign in to comment.