Commit c8251786 authored by ksss's avatar ksss

Fix unnecessary string macro

parent b042b951
...@@ -129,7 +129,7 @@ mrb_str_modify(mrb_state *mrb, struct RString *s) ...@@ -129,7 +129,7 @@ mrb_str_modify(mrb_state *mrb, struct RString *s)
return; return;
} }
if (s->flags & MRB_STR_NOFREE) { if (s->flags & MRB_STR_NOFREE) {
char *p = STR_PTR(s); char *p = s->as.heap.ptr;
s->as.heap.ptr = (char *)mrb_malloc(mrb, (size_t)s->as.heap.len+1); s->as.heap.ptr = (char *)mrb_malloc(mrb, (size_t)s->as.heap.len+1);
if (p) { if (p) {
...@@ -382,16 +382,16 @@ str_make_shared(mrb_state *mrb, struct RString *s) ...@@ -382,16 +382,16 @@ str_make_shared(mrb_state *mrb, struct RString *s)
} }
else if (s->flags & MRB_STR_NOFREE) { else if (s->flags & MRB_STR_NOFREE) {
shared->nofree = TRUE; shared->nofree = TRUE;
shared->ptr = STR_PTR(s); shared->ptr = s->as.heap.ptr;
s->flags &= ~MRB_STR_NOFREE; s->flags &= ~MRB_STR_NOFREE;
} }
else { else {
shared->nofree = FALSE; shared->nofree = FALSE;
if (s->as.heap.aux.capa > s->as.heap.len) { if (s->as.heap.aux.capa > s->as.heap.len) {
s->as.heap.ptr = shared->ptr = (char *)mrb_realloc(mrb, STR_PTR(s), s->as.heap.len+1); s->as.heap.ptr = shared->ptr = (char *)mrb_realloc(mrb, s->as.heap.ptr, s->as.heap.len+1);
} }
else { else {
shared->ptr = STR_PTR(s); shared->ptr = s->as.heap.ptr;
} }
} }
shared->len = s->as.heap.len; shared->len = s->as.heap.len;
...@@ -1441,7 +1441,7 @@ str_replace(mrb_state *mrb, struct RString *s1, struct RString *s2) ...@@ -1441,7 +1441,7 @@ str_replace(mrb_state *mrb, struct RString *s1, struct RString *s2)
else { else {
if (len <= RSTRING_EMBED_LEN_MAX) { if (len <= RSTRING_EMBED_LEN_MAX) {
STR_SET_EMBED_FLAG(s1); STR_SET_EMBED_FLAG(s1);
memcpy(STR_PTR(s1), STR_PTR(s2), len); memcpy(s1->as.ary, STR_PTR(s2), len);
STR_SET_EMBED_LEN(s1, len); STR_SET_EMBED_LEN(s1, len);
} }
else { else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment