summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-11-19 12:01:58 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-11-19 12:08:28 +0900
commit9516731329a9d43b4aab57a19fb9cfc1b62f11e8 (patch)
tree38ca7a71cc958792b2fd9df30ca62dfa577ae386 /src
parentc022e4643f2b6c84cb3f1ca716c0e7da3f14c8ca (diff)
downloadmruby-9516731329a9d43b4aab57a19fb9cfc1b62f11e8.tar.gz
mruby-9516731329a9d43b4aab57a19fb9cfc1b62f11e8.zip
Use type checking `mrb_to_str` instead of converting `mrb_str_to_str`.
Diffstat (limited to 'src')
-rw-r--r--src/error.c2
-rw-r--r--src/string.c18
2 files changed, 9 insertions, 11 deletions
diff --git a/src/error.c b/src/error.c
index 599612b97..57cdfcfe1 100644
--- a/src/error.c
+++ b/src/error.c
@@ -28,7 +28,7 @@ mrb_exc_new(mrb_state *mrb, struct RClass *c, const char *ptr, size_t len)
MRB_API mrb_value
mrb_exc_new_str(mrb_state *mrb, struct RClass* c, mrb_value str)
{
- str = mrb_str_to_str(mrb, str);
+ mrb_to_str(mrb, str);
return mrb_obj_new(mrb, c, 1, &str);
}
diff --git a/src/string.c b/src/string.c
index b6d4ecef0..287b4dcbb 100644
--- a/src/string.c
+++ b/src/string.c
@@ -748,9 +748,7 @@ mrb_str_to_cstr(mrb_state *mrb, mrb_value str0)
MRB_API void
mrb_str_concat(mrb_state *mrb, mrb_value self, mrb_value other)
{
- if (!mrb_string_p(other)) {
- other = mrb_str_to_str(mrb, other);
- }
+ other = mrb_str_to_str(mrb, other);
mrb_str_cat_str(mrb, self, other);
}
@@ -993,15 +991,15 @@ mrb_str_to_str(mrb_state *mrb, mrb_value str)
MRB_API const char*
mrb_string_value_ptr(mrb_state *mrb, mrb_value ptr)
{
- mrb_value str = mrb_str_to_str(mrb, ptr);
- return RSTRING_PTR(str);
+ mrb_to_str(mrb, ptr);
+ return RSTRING_PTR(ptr);
}
MRB_API mrb_int
mrb_string_value_len(mrb_state *mrb, mrb_value ptr)
{
- mrb_value str = mrb_str_to_str(mrb, ptr);
- return RSTRING_LEN(str);
+ mrb_to_str(mrb, ptr);
+ return RSTRING_LEN(ptr);
}
void
@@ -2183,7 +2181,7 @@ mrb_cstr_to_inum(mrb_state *mrb, const char *str, int base, int badcheck)
MRB_API const char*
mrb_string_value_cstr(mrb_state *mrb, mrb_value *ptr)
{
- mrb_value str = mrb_str_to_str(mrb, *ptr);
+ mrb_value str = mrb_to_str(mrb, *ptr);
struct RString *ps = mrb_str_ptr(str);
mrb_int len = mrb_str_strlen(mrb, ps);
char *p = RSTR_PTR(ps);
@@ -2313,7 +2311,7 @@ mrb_str_to_dbl(mrb_state *mrb, mrb_value str, mrb_bool badcheck)
char *s;
mrb_int len;
- str = mrb_str_to_str(mrb, str);
+ mrb_to_str(mrb, str);
s = RSTRING_PTR(str);
len = RSTRING_LEN(str);
if (s) {
@@ -2600,7 +2598,7 @@ mrb_str_cat_str(mrb_state *mrb, mrb_value str, mrb_value str2)
MRB_API mrb_value
mrb_str_append(mrb_state *mrb, mrb_value str1, mrb_value str2)
{
- str2 = mrb_str_to_str(mrb, str2);
+ mrb_to_str(mrb, str2);
return mrb_str_cat_str(mrb, str1, str2);
}