diff --git a/include/mruby/string.h b/include/mruby/string.h index 903c036f2..6dd667cc4 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -41,6 +41,7 @@ mrb_value mrb_ptr_to_str(mrb_state *, void *); mrb_value mrb_obj_as_string(mrb_state *mrb, mrb_value obj); mrb_value mrb_str_resize(mrb_state *mrb, mrb_value str, mrb_int len); mrb_value mrb_str_substr(mrb_state *mrb, mrb_value str, mrb_int beg, mrb_int len); +mrb_value mrb_string_type(mrb_state *mrb, mrb_value str); mrb_value mrb_check_string_type(mrb_state *mrb, mrb_value str); mrb_value mrb_str_buf_new(mrb_state *mrb, mrb_int capa); mrb_value mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len); diff --git a/src/string.c b/src/string.c index 2004c9fe8..088f8efc4 100644 --- a/src/string.c +++ b/src/string.c @@ -1523,6 +1523,12 @@ mrb_ptr_to_str(mrb_state *mrb, void *p) return mrb_obj_value(p_str); } +mrb_value +mrb_string_type(mrb_state *mrb, mrb_value str) +{ + return mrb_convert_type(mrb, str, MRB_TT_STRING, "String", "to_str"); +} + mrb_value mrb_check_string_type(mrb_state *mrb, mrb_value str) {