Skip to content

Commit 78ab979

Browse files
committed
mruby-string-utf8: redefine String#size for UTF-8 string; mruby#1646
1 parent dc25f85 commit 78ab979

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

mrbgems/mruby-string-utf8/src/string.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@ mrb_utf8_strlen(mrb_value str)
4747
return total;
4848
}
4949

50+
static mrb_value
51+
mrb_str_size(mrb_state *mrb, mrb_value str)
52+
{
53+
size_t size = mrb_utf8_strlen(str);
54+
55+
return mrb_fixnum_value(size);
56+
}
57+
5058
#define RSTRING_LEN_UTF8(s) mrb_utf8_strlen(s)
5159

5260
static mrb_value
@@ -244,6 +252,7 @@ mrb_mruby_string_utf8_gem_init(mrb_state* mrb)
244252
{
245253
struct RClass * s = mrb->string_class;
246254

255+
mrb_define_method(mrb, s, "size", mrb_str_size, MRB_ARGS_NONE());
247256
mrb_define_method(mrb, s, "[]", mrb_str_aref_m, MRB_ARGS_ANY());
248257
mrb_define_method(mrb, s, "slice", mrb_str_aref_m, MRB_ARGS_ANY());
249258
}

0 commit comments

Comments
 (0)