summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-12-01 21:29:46 -0800
committerYukihiro "Matz" Matsumoto <[email protected]>2013-12-01 21:29:46 -0800
commitda8405a0f7ce7d4566afdba2243bd59a5498dfb1 (patch)
tree9a69acf656c2d74b48c85129867fa249094b65fa /include
parente981f0b45cb193e395ac446762b234e16d857712 (diff)
parentdf780ae5e9cb12f527f01ce04137a1ad76c0b1c6 (diff)
downloadmruby-da8405a0f7ce7d4566afdba2243bd59a5498dfb1.tar.gz
mruby-da8405a0f7ce7d4566afdba2243bd59a5498dfb1.zip
Merge pull request #1600 from take-cheeze/mrb_intern_lit
Proposal of mrb_intern_lit macro.
Diffstat (limited to 'include')
-rw-r--r--include/mruby.h2
-rw-r--r--include/mruby/hash.h2
2 files changed, 3 insertions, 1 deletions
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);