* string.c (rb_str_resize): copy if old data is not empty
[ruby-core:14785] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
80de7a2fe1
commit
76c2550b5b
@ -1,6 +1,6 @@
|
|||||||
Sat Jan 5 14:45:38 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Sat Jan 5 16:50:48 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* string.c (rb_str_resize): copy at old length but not new length.
|
* string.c (rb_str_resize): copy if old data is not empty
|
||||||
[ruby-core:14785]
|
[ruby-core:14785]
|
||||||
|
|
||||||
Sat Jan 5 13:04:24 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Sat Jan 5 13:04:24 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
2
string.c
2
string.c
@ -948,7 +948,7 @@ rb_str_resize(VALUE str, long len)
|
|||||||
else if (len <= RSTRING_EMBED_LEN_MAX) {
|
else if (len <= RSTRING_EMBED_LEN_MAX) {
|
||||||
char *ptr = RSTRING(str)->as.heap.ptr;
|
char *ptr = RSTRING(str)->as.heap.ptr;
|
||||||
STR_SET_EMBED(str);
|
STR_SET_EMBED(str);
|
||||||
if (slen > 0) MEMCPY(RSTRING(str)->as.ary, ptr, char, slen);
|
if (slen > 0) MEMCPY(RSTRING(str)->as.ary, ptr, char, len);
|
||||||
RSTRING(str)->as.ary[len] = '\0';
|
RSTRING(str)->as.ary[len] = '\0';
|
||||||
STR_SET_EMBED_LEN(str, len);
|
STR_SET_EMBED_LEN(str, len);
|
||||||
xfree(ptr);
|
xfree(ptr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user