From 3b3032ee550115ba866ee7a81ea63575db854e57 Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Mon, 19 Jan 2015 13:12:04 +0900 Subject: [PATCH] don't malloc in pic_interned_p --- extlib/benz/symbol.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/extlib/benz/symbol.c b/extlib/benz/symbol.c index 6c7cd620..879f48ae 100644 --- a/extlib/benz/symbol.c +++ b/extlib/benz/symbol.c @@ -51,7 +51,14 @@ pic_gensym(pic_state *pic, pic_sym base) bool pic_interned_p(pic_state *pic, pic_sym sym) { - return sym == pic_intern(pic, sym->str); + xh_entry *e; + + e = xh_get_str(&pic->syms, pic_str_cstr(sym->str)); + if (e) { + return sym == xh_val(e, pic_sym); + } else { + return false; + } } const char *