From 82de3cfe2f92f0a3dfc91e7085940e19871acff2 Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Sun, 13 Jul 2014 10:58:13 +0900 Subject: [PATCH] add pic_dict_new --- include/picrin/dict.h | 2 ++ src/dict.c | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/include/picrin/dict.h b/include/picrin/dict.h index bb720534..7d969818 100644 --- a/include/picrin/dict.h +++ b/include/picrin/dict.h @@ -17,6 +17,8 @@ struct pic_dict { #define pic_dict_p(v) (pic_type(v) == PIC_TT_DICT) #define pic_dict_ptr(v) ((struct pic_dict *)pic_ptr(v)) +struct pic_dict *pic_dict_new(pic_state *); + #if defined(__cplusplus) } #endif diff --git a/src/dict.c b/src/dict.c index ddbe2cb5..9789f117 100644 --- a/src/dict.c +++ b/src/dict.c @@ -5,6 +5,17 @@ #include "picrin.h" #include "picrin/dict.h" +struct pic_dict * +pic_dict_new(pic_state *pic) +{ + struct pic_dict *dict; + + dict = (struct pic_dict *)pic_obj_alloc(pic, sizeof(struct pic_dict), PIC_TT_DICT); + xh_init_int(&dict->hash, sizeof(pic_value)); + + return dict; +} + static pic_value pic_dict_dict(pic_state *pic) { @@ -12,9 +23,7 @@ pic_dict_dict(pic_state *pic) pic_get_args(pic, ""); - dict = (struct pic_dict *)pic_obj_alloc(pic, sizeof(struct pic_dict), PIC_TT_DICT); - - xh_init_int(&dict->hash, sizeof(pic_value)); + dict = pic_dict_new(pic); return pic_obj_value(dict); }