summaryrefslogtreecommitdiffhomepage
path: root/src/symbol.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-09-05 10:54:06 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-10-12 18:20:19 +0900
commita4c5824e59c66a1132f38e1faf21926ddef58ca6 (patch)
tree11d160beb57f060eea6a042d405bbb8cac189002 /src/symbol.c
parentafcf19b727aeca5932689b28777863815fe145cf (diff)
downloadmruby-a4c5824e59c66a1132f38e1faf21926ddef58ca6.tar.gz
mruby-a4c5824e59c66a1132f38e1faf21926ddef58ca6.zip
Restore old function names for compatibility; ref #5070
- `mrb_check_intern()` to return `mrb_value` - `mrb_intern_check()` to return `mrb_sym` [NEW] Other new functions: - `mrb_intern_check_cstr()` - `mrb_intern_check_str()`
Diffstat (limited to 'src/symbol.c')
-rw-r--r--src/symbol.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/symbol.c b/src/symbol.c
index 9683d2f72..18ea49da5 100644
--- a/src/symbol.c
+++ b/src/symbol.c
@@ -268,7 +268,7 @@ mrb_intern_str(mrb_state *mrb, mrb_value str)
}
MRB_API mrb_sym
-mrb_check_intern(mrb_state *mrb, const char *name, size_t len)
+mrb_intern_check(mrb_state *mrb, const char *name, size_t len)
{
mrb_sym sym;
@@ -278,16 +278,40 @@ mrb_check_intern(mrb_state *mrb, const char *name, size_t len)
return 0;
}
+MRB_API mrb_value
+mrb_check_intern(mrb_state *mrb, const char *name, size_t len)
+{
+ mrb_sym sym = mrb_intern_check(mrb, name, len);
+ if (sym == 0) return mrb_nil_value();
+ return mrb_symbol_value(sym);
+}
+
MRB_API mrb_sym
+mrb_intern_check_cstr(mrb_state *mrb, const char *name)
+{
+ return mrb_intern_check(mrb, name, strlen(name));
+}
+
+MRB_API mrb_value
mrb_check_intern_cstr(mrb_state *mrb, const char *name)
{
- return mrb_check_intern(mrb, name, strlen(name));
+ mrb_sym sym = mrb_intern_check_cstr(mrb, name);
+ if (sym == 0) return mrb_nil_value();
+ return mrb_symbol_value(sym);
}
MRB_API mrb_sym
+mrb_intern_check_str(mrb_state *mrb, mrb_value str)
+{
+ return mrb_intern_check(mrb, RSTRING_PTR(str), RSTRING_LEN(str));
+}
+
+MRB_API mrb_value
mrb_check_intern_str(mrb_state *mrb, mrb_value str)
{
- return mrb_check_intern(mrb, RSTRING_PTR(str), RSTRING_LEN(str));
+ mrb_sym sym = mrb_intern_check_str(mrb, str);
+ if (sym == 0) return mrb_nil_value();
+ return mrb_symbol_value(sym);
}
static const char*