mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* string.c (rb_str_rstrip_bang): should not sign-expand non-ascii.
[ruby-core:23158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c9ad044dfb
commit
6387c5dc8c
3 changed files with 9 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
Wed Apr 8 20:08:16 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* string.c (rb_str_rstrip_bang): should not sign-expand non-ascii.
|
||||
[ruby-core:23158]
|
||||
|
||||
Wed Apr 8 17:29:29 2009 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* string.c (rb_str_chop_bang): reset coderange. [ruby-core:23155]
|
||||
|
|
3
string.c
3
string.c
|
@ -6197,7 +6197,8 @@ rb_str_rstrip_bang(VALUE str)
|
|||
|
||||
/* remove trailing spaces or '\0's */
|
||||
if (single_byte_optimizable(str)) {
|
||||
while (s < t && (*(t-1) == '\0' || rb_enc_isspace(*(t-1), enc))) t--;
|
||||
unsigned char c;
|
||||
while (s < t && ((c = *(t-1)) == '\0' || rb_enc_isspace(c, enc))) t--;
|
||||
}
|
||||
else {
|
||||
char *tp;
|
||||
|
|
|
@ -1139,6 +1139,8 @@ class TestString < Test::Unit::TestCase
|
|||
def test_strip
|
||||
assert_equal(S("x"), S(" x ").strip)
|
||||
assert_equal(S("x"), S(" \n\r\t x \t\r\n\n ").strip)
|
||||
assert_equal(S(""), S("\xa0".force_encoding("iso-8859-1")).strip)
|
||||
assert_equal(S("a"), S("a\xa0".force_encoding("iso-8859-1")).strip)
|
||||
end
|
||||
|
||||
def test_strip!
|
||||
|
|
Loading…
Reference in a new issue