diff --git a/include/picrin.h b/include/picrin.h index cbe379ce..9b063923 100644 --- a/include/picrin.h +++ b/include/picrin.h @@ -146,6 +146,7 @@ void pic_defun(pic_state *, const char *, pic_func_t); bool pic_equal_p(pic_state *, pic_value, pic_value); pic_sym pic_intern(pic_state *, const char *, size_t); +pic_sym pic_intern_str(pic_state *, pic_str *); pic_sym pic_intern_cstr(pic_state *, const char *); const char *pic_symbol_name(pic_state *, pic_sym); pic_sym pic_gensym(pic_state *, pic_sym); diff --git a/symbol.c b/symbol.c index 2add0769..b936f48f 100644 --- a/symbol.c +++ b/symbol.c @@ -37,6 +37,12 @@ pic_intern_cstr(pic_state *pic, const char *str) return pic_intern(pic, str, strlen(str)); } +pic_sym +pic_intern_str(pic_state *pic, pic_str *str) +{ + return pic_intern_cstr(pic, pic_str_cstr(str)); +} + pic_sym pic_gensym(pic_state *pic, pic_sym base) {