summaryrefslogtreecommitdiffhomepage
path: root/src/string.c
diff options
context:
space:
mode:
authorMasaki Muranaka <[email protected]>2013-06-21 16:06:35 +0900
committerMasaki Muranaka <[email protected]>2013-06-21 16:06:35 +0900
commite4ae05ed9ba49342507da080ae0e95fd6be4fc3c (patch)
tree4ba6eefa6bfc2fb8b8329a3459c13dec5b2d8bb3 /src/string.c
parent2886348ddd3ee711d1bf7f2fb1759936a8b08449 (diff)
downloadmruby-e4ae05ed9ba49342507da080ae0e95fd6be4fc3c.tar.gz
mruby-e4ae05ed9ba49342507da080ae0e95fd6be4fc3c.zip
Cleanup mrb_str_resize().
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/string.c b/src/string.c
index a2e8f155d..328266df9 100644
--- a/src/string.c
+++ b/src/string.c
@@ -104,10 +104,9 @@ mrb_str_resize(mrb_state *mrb, mrb_value str, mrb_int len)
mrb_str_modify(mrb, s);
slen = s->len;
if (len != slen) {
- if (slen < len || slen -len > 1024) {
- s->ptr = (char *)mrb_realloc(mrb, s->ptr, len+1);
+ if (slen < len || slen - len > 256) {
+ RESIZE_CAPA(s, len);
}
- s->aux.capa = len;
s->len = len;
s->ptr[len] = '\0'; /* sentinel */
}