diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-05 05:07:54 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-05 05:07:54 +0000 |
commit | c492b9b0857a76a94db586c87e3ab5a270b20746 (patch) | |
tree | f9703be8248360ab17a94821ad56d785bb27c0a7 /string.c | |
parent | 4198feb844a2fe307843d346bbde39894bd72faf (diff) |
* eval.c (mark_frame_adj): need to adjust argv pointer if using
system's alloca. [ruby-core:01503]
* io.c (rb_f_gets): should call next_argv() before type check
current_file. [ruby-list:38336]
* eval.c (proc_invoke): should retrieve retval when pcall is true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -1807,16 +1807,16 @@ rb_str_reverse_bang(str) char *s, *e; char c; - if (RSTRING(str)->len <= 1) return Qnil; - rb_str_modify(str); - s = RSTRING(str)->ptr; - e = s + RSTRING(str)->len - 1; - while (s < e) { - c = *s; - *s++ = *e; - *e-- = c; + if (RSTRING(str)->len > 1) { + rb_str_modify(str); + s = RSTRING(str)->ptr; + e = s + RSTRING(str)->len - 1; + while (s < e) { + c = *s; + *s++ = *e; + *e-- = c; + } } - return str; } |