From fb386011df80b4bdada33954df27b9ac4719ad97 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 20 Nov 2013 08:37:16 +0900 Subject: rename API mrb_str_dup_static() -> mrb_str_pool() --- include/mruby/string.h | 2 +- src/codegen.c | 2 +- src/load.c | 2 +- src/state.c | 22 ++++++++++++++++++++++ src/string.c | 22 ---------------------- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/include/mruby/string.h b/include/mruby/string.h index 77ff7a3d6..594965134 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -50,7 +50,6 @@ char *mrb_string_value_cstr(mrb_state *mrb, mrb_value *ptr); char *mrb_string_value_ptr(mrb_state *mrb, mrb_value ptr); int mrb_str_offset(mrb_state *mrb, mrb_value str, int pos); mrb_value mrb_str_dup(mrb_state *mrb, mrb_value str); -mrb_value mrb_str_dup_static(mrb_state *mrb, mrb_value str); mrb_value mrb_str_intern(mrb_state *mrb, mrb_value self); mrb_value mrb_str_cat_cstr(mrb_state *, mrb_value, const char *); mrb_value mrb_str_to_inum(mrb_state *mrb, mrb_value str, int base, int badcheck); @@ -66,6 +65,7 @@ mrb_value mrb_str_append(mrb_state *mrb, mrb_value str, mrb_value str2); int mrb_str_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2); char *mrb_str_to_cstr(mrb_state *mrb, mrb_value str); +mrb_value mrb_str_pool(mrb_state *mrb, mrb_value str); /* For backward compatibility */ static inline mrb_value diff --git a/src/codegen.c b/src/codegen.c index f3e6e2f0c..7b7fc39c5 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -440,7 +440,7 @@ new_lit(codegen_scope *s, mrb_value val) switch (mrb_type(val)) { case MRB_TT_STRING: - *pv = mrb_str_dup_static(s->mrb, val); + *pv = mrb_str_pool(s->mrb, val); break; case MRB_TT_FLOAT: diff --git a/src/load.c b/src/load.c index 4f7aeb2d5..f8dd5b525 100644 --- a/src/load.c +++ b/src/load.c @@ -110,7 +110,7 @@ read_irep_record_1(mrb_state *mrb, const uint8_t *bin, uint32_t *len) break; case IREP_TT_STRING: - irep->pool[i] = mrb_str_dup_static(mrb, s); + irep->pool[i] = mrb_str_pool(mrb, s); break; default: diff --git a/src/state.c b/src/state.c index 52a1541cb..f8a97cb61 100644 --- a/src/state.c +++ b/src/state.c @@ -147,6 +147,28 @@ mrb_irep_free(mrb_state *mrb, mrb_irep *irep) mrb_free(mrb, irep); } +mrb_value +mrb_str_pool(mrb_state *mrb, mrb_value str) +{ + struct RString *s = mrb_str_ptr(str); + struct RString *ns; + mrb_int len; + + ns = (struct RString *)mrb_malloc(mrb, sizeof(struct RString)); + ns->tt = MRB_TT_STRING; + ns->c = mrb->string_class; + + len = s->len; + ns->len = len; + ns->ptr = (char *)mrb_malloc(mrb, (size_t)len+1); + if (s->ptr) { + memcpy(ns->ptr, s->ptr, len); + } + ns->ptr[len] = '\0'; + + return mrb_obj_value(ns); +} + void mrb_free_context(mrb_state *mrb, struct mrb_context *c) { diff --git a/src/string.c b/src/string.c index 6ec98c778..af70e8e45 100644 --- a/src/string.c +++ b/src/string.c @@ -734,28 +734,6 @@ mrb_str_dup(mrb_state *mrb, mrb_value str) return mrb_str_new(mrb, s->ptr, s->len); } -mrb_value -mrb_str_dup_static(mrb_state *mrb, mrb_value str) -{ - struct RString *s = mrb_str_ptr(str); - struct RString *ns; - mrb_int len; - - ns = (struct RString *)mrb_malloc(mrb, sizeof(struct RString)); - ns->tt = MRB_TT_STRING; - ns->c = mrb->string_class; - - len = s->len; - ns->len = len; - ns->ptr = (char *)mrb_malloc(mrb, (size_t)len+1); - if (s->ptr) { - memcpy(ns->ptr, s->ptr, len); - } - ns->ptr[len] = '\0'; - - return mrb_obj_value(ns); -} - static mrb_value mrb_str_aref(mrb_state *mrb, mrb_value str, mrb_value indx) { -- cgit v1.2.3