aboutsummaryrefslogtreecommitdiff
path: root/guile_type_helpers.c
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@hornquist.se>2019-02-25 22:59:53 +0100
committerHugo Hörnquist <hugo@hornquist.se>2019-02-25 22:59:53 +0100
commit6355700d4101a6e515311c96bf8e25bb1bb51d92 (patch)
tree01b362d60f6fa58d55a0bd1e76e2c3194d2b5b1e /guile_type_helpers.c
parentReenable guile stuff. (diff)
downloadcalp-6355700d4101a6e515311c96bf8e25bb1bb51d92.tar.gz
calp-6355700d4101a6e515311c96bf8e25bb1bb51d92.tar.xz
Add scm field to strbuf.
Diffstat (limited to '')
-rw-r--r--guile_type_helpers.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/guile_type_helpers.c b/guile_type_helpers.c
index 3f76c2d4..485827a0 100644
--- a/guile_type_helpers.c
+++ b/guile_type_helpers.c
@@ -2,8 +2,13 @@
#include "macro.h"
-SCM scm_from_strbuf(strbuf* s)
- { return scm_from_utf8_stringn (s->mem, s->len - 1); }
+SCM scm_from_strbuf(strbuf* s) {
+ if (s->scm == NULL) {
+ s->scm = scm_from_utf8_stringn (s->mem, s->len - 1);
+ }
+
+ return s->scm;
+}
SCM scm_from_vector(VECT(vcomponent)* vect, SCM element_type) {
SCM l = SCM_EOL;