* string.c (rb_str_rstrip_bang): removing mixed spaces and nuls at

the end of strings.  [ruby-dev:36497]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2008-09-24 07:00:43 +00:00
parent 022ddc7078
commit 922048adee
2 changed files with 7 additions and 5 deletions

View File

@ -1,3 +1,8 @@
Wed Sep 24 15:58:52 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* string.c (rb_str_rstrip_bang): removing mixed spaces and nuls at
the end of strings. [ruby-dev:36497]
Wed Sep 24 15:13:04 2008 Takeyuki Fujioka <xibbar@ruby-lang.org>
* test/cgi/test_cgi_multipart.rb : test for miniunit.

View File

@ -5861,11 +5861,8 @@ rb_str_rstrip_bang(VALUE str)
t = e = RSTRING_END(str);
if (single_byte_optimizable(str)) {
/* remove trailing '\0's */
while (s < t && t[-1] == '\0') t--;
/* remove trailing spaces */
while (s < t && rb_enc_isspace(*(t-1), enc)) t--;
/* remove trailing spaces or '\0's */
while (s < t && (t[-1] == '\0' || rb_enc_isspace(*(t-1), enc))) t--;
}
else {
char *tp;