diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-04-14 12:20:18 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-04-14 12:20:18 +0900 |
| commit | 636addd645a430c3b014ca99b11c1ee82b078a8b (patch) | |
| tree | baf6c159577f873107fe421b57dfa122ca2dfd76 | |
| parent | 65678f11b427e11c33ffef5ba7adabd87bd4f530 (diff) | |
| parent | 649081661a8f7a952b9386a63fe7271f3432f627 (diff) | |
| download | mruby-636addd645a430c3b014ca99b11c1ee82b078a8b.tar.gz mruby-636addd645a430c3b014ca99b11c1ee82b078a8b.zip | |
Merge pull request #2059 from cremno/reduce-rstring_ptr-usage
reduce RSTRING_PTR usage
| -rw-r--r-- | mrbgems/mruby-string-ext/src/string.c | 4 | ||||
| -rw-r--r-- | src/kernel.c | 6 | ||||
| -rw-r--r-- | src/symbol.c | 10 | ||||
| -rw-r--r-- | src/variable.c | 5 |
4 files changed, 15 insertions, 10 deletions
diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index 303aae65d..3ec23c51f 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -34,7 +34,7 @@ mrb_str_swapcase_bang(mrb_state *mrb, mrb_value str) mrb_str_modify(mrb, s); p = RSTRING_PTR(str); - pend = RSTRING_PTR(str) + RSTRING_LEN(str); + pend = p + RSTRING_LEN(str); while (p < pend) { if (ISUPPER(*p)) { *p = TOLOWER(*p); @@ -157,7 +157,7 @@ mrb_str_end_with(mrb_state *mrb, mrb_value self) RSTRING_PTR(sub), len_r) == 0) { return mrb_true_value(); - } + } } } return mrb_false_value(); diff --git a/src/kernel.c b/src/kernel.c index 15a80f7c4..3b1ad863f 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -573,8 +573,10 @@ get_valid_iv_sym(mrb_state *mrb, mrb_value iv_name) mrb_assert(mrb_symbol_p(iv_name) || mrb_string_p(iv_name)); if (mrb_string_p(iv_name)) { - iv_name_id = mrb_intern(mrb, RSTRING_PTR(iv_name), RSTRING_LEN(iv_name)); - valid_iv_name(mrb, iv_name_id, RSTRING_PTR(iv_name), RSTRING_LEN(iv_name)); + char *p = RSTRING_PTR(iv_name); + mrb_int l = RSTRING_LEN(iv_name); + iv_name_id = mrb_intern(mrb, p, l); + valid_iv_name(mrb, iv_name_id, p, l); } else { iv_name_id = mrb_symbol(iv_name); diff --git a/src/symbol.c b/src/symbol.c index 7206778d6..1b106ad98 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -394,15 +394,17 @@ sym_inspect(mrb_state *mrb, mrb_value sym) const char *name; mrb_int len; mrb_sym id = mrb_symbol(sym); + char *sp; name = mrb_sym2name_len(mrb, id, &len); str = mrb_str_new(mrb, 0, len+1); - RSTRING_PTR(str)[0] = ':'; - memcpy(RSTRING_PTR(str)+1, name, len); + sp = RSTRING_PTR(str); + sp[0] = ':'; + memcpy(sp+1, name, len); if (!symname_p(name) || strlen(name) != len) { str = mrb_str_dump(mrb, str); - RSTRING_PTR(str)[0] = ':'; - RSTRING_PTR(str)[1] = '"'; + sp[0] = ':'; + sp[1] = '"'; } return str; } diff --git a/src/variable.c b/src/variable.c index 3dcdbf775..90f0831da 100644 --- a/src/variable.c +++ b/src/variable.c @@ -563,10 +563,11 @@ inspect_i(mrb_state *mrb, mrb_sym sym, mrb_value v, void *p) const char *s; mrb_int len; mrb_value ins; + char *sp = RSTRING_PTR(str); /* need not to show internal data */ - if (RSTRING_PTR(str)[0] == '-') { /* first element */ - RSTRING_PTR(str)[0] = '#'; + if (sp[0] == '-') { /* first element */ + sp[0] = '#'; mrb_str_cat_lit(mrb, str, " "); } else { |
