modify the type of return value (mrb_bool => mrb_value).

This commit is contained in:
crimsonwoods
2013-04-25 09:51:20 +09:00
parent 8682b06953
commit bd1b925931
2 changed files with 12 additions and 7 deletions
+9 -4
View File
@@ -72,25 +72,30 @@ mrb_intern_str(mrb_state *mrb, mrb_value str)
return mrb_intern2(mrb, RSTRING_PTR(str), RSTRING_LEN(str));
}
mrb_bool
mrb_value
mrb_cstr_interned(mrb_state *mrb, const char *name)
{
return mrb_interned(mrb, name, strlen(name));
}
mrb_bool
mrb_value
mrb_interned(mrb_state *mrb, const char *name, size_t len)
{
khash_t(n2s) *h = mrb->name2sym;
symbol_name sname;
khiter_t k;
sname.len = len;
sname.name = name;
return (kh_get(n2s, h, sname) != kh_end(h)) ? TRUE : FALSE;
k = kh_get(n2s, h, sname);
if (k != kh_end(h)) {
return mrb_symbol_value(kh_value(h, k));
}
return mrb_nil_value();
}
mrb_bool
mrb_value
mrb_str_interned(mrb_state *mrb, mrb_value str)
{
return mrb_interned(mrb, RSTRING_PTR(str), RSTRING_LEN(str));