summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/mruby/string.h3
-rw-r--r--src/string.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/include/mruby/string.h b/include/mruby/string.h
index bc3a89338..a66ba70ff 100644
--- a/include/mruby/string.h
+++ b/include/mruby/string.h
@@ -123,7 +123,8 @@ MRB_API mrb_value mrb_check_string_type(mrb_state *mrb, mrb_value str);
MRB_API mrb_value mrb_str_buf_new(mrb_state *mrb, size_t capa);
MRB_API const char *mrb_string_value_cstr(mrb_state *mrb, mrb_value *ptr);
-MRB_API const char *mrb_string_value_ptr(mrb_state *mrb, mrb_value ptr);
+MRB_API const char *mrb_string_value_ptr(mrb_state *mrb, mrb_value str);
+MRB_API mrb_int mrb_string_value_len(mrb_state *mrb, mrb_value str);
/*
* Duplicates a string object.
diff --git a/src/string.c b/src/string.c
index 329010e59..932362cad 100644
--- a/src/string.c
+++ b/src/string.c
@@ -1013,6 +1013,13 @@ mrb_string_value_ptr(mrb_state *mrb, mrb_value ptr)
return RSTRING_PTR(str);
}
+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);
+}
+
void
mrb_noregexp(mrb_state *mrb, mrb_value self)
{