mruby-string-ext (str_b): add a new method String#b

The method makes the receiver binary-mode, but in mruby, which is
virtually no meaning.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2025-01-01 23:30:12 +09:00
parent 85df487e63
commit b0127f0cdd
2 changed files with 12 additions and 1 deletions
+8
View File
@@ -1325,6 +1325,13 @@ str_ascii_only_p(mrb_state *mrb, mrb_value str)
return mrb_true_value();
}
static mrb_value
str_b(mrb_state *mrb, mrb_value str)
{
RSTR_SET_BINARY_FLAG(mrb_str_ptr(str));
return str;
}
void
mrb_mruby_string_ext_gem_init(mrb_state* mrb)
{
@@ -1364,6 +1371,7 @@ mrb_mruby_string_ext_gem_init(mrb_state* mrb)
mrb_define_method_id(mrb, s, MRB_OPSYM(minus), str_uminus, MRB_ARGS_REQ(1));
mrb_define_method_id(mrb, s, MRB_SYM_Q(valid_encoding), str_valid_enc_p, MRB_ARGS_NONE());
mrb_define_method_id(mrb, s, MRB_SYM_Q(ascii_only), str_ascii_only_p, MRB_ARGS_NONE());
mrb_define_method_id(mrb, s, MRB_SYM(b), str_b, MRB_ARGS_NONE());
mrb_define_method_id(mrb, s, MRB_SYM(__lines), str_lines, MRB_ARGS_NONE());
mrb_define_method_id(mrb, s, MRB_SYM(__codepoints), str_codepoints, MRB_ARGS_NONE());