From df780ae5e9cb12f527f01ce04137a1ad76c0b1c6 Mon Sep 17 00:00:00 2001 From: take_cheeze Date: Sun, 1 Dec 2013 10:38:59 +0900 Subject: add mrb_intern_lit for creating symbol from string literal --- include/mruby.h | 2 ++ include/mruby/hash.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/mruby.h b/include/mruby.h index 7306fd8e9..ead22d307 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -239,6 +239,8 @@ const char *mrb_sym2name_len(mrb_state*,mrb_sym,size_t*); mrb_value mrb_sym2str(mrb_state*,mrb_sym); mrb_value mrb_str_format(mrb_state *, int, const mrb_value *, mrb_value); +#define mrb_intern_lit(mrb, lit) mrb_intern(mrb, (lit), sizeof(lit) - 1) + void *mrb_malloc(mrb_state*, size_t); /* raise RuntimeError if no mem */ void *mrb_calloc(mrb_state*, size_t, size_t); /* ditto */ void *mrb_realloc(mrb_state*, void*, size_t); /* ditto */ diff --git a/include/mruby/hash.h b/include/mruby/hash.h index d698acf81..6a8b11373 100644 --- a/include/mruby/hash.h +++ b/include/mruby/hash.h @@ -35,7 +35,7 @@ mrb_value mrb_hash_clear(mrb_state *mrb, mrb_value hash); /* RHASH_TBL allocates st_table if not available. */ #define RHASH(obj) ((struct RHash*)(mrb_ptr(obj))) #define RHASH_TBL(h) (RHASH(h)->ht) -#define RHASH_IFNONE(h) mrb_iv_get(mrb, (h), mrb_intern(mrb, "ifnone", 6)) +#define RHASH_IFNONE(h) mrb_iv_get(mrb, (h), mrb_intern_lit(mrb, "ifnone")) #define RHASH_PROCDEFAULT(h) RHASH_IFNONE(h) struct kh_ht * mrb_hash_tbl(mrb_state *mrb, mrb_value hash); -- cgit v1.2.3