diff options
| -rw-r--r-- | include/mruby/string.h | 3 | ||||
| -rw-r--r-- | src/string.c | 7 |
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) { |
