diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2019-02-18 22:39:56 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2019-02-18 22:39:56 +0100 |
commit | 33fa5b5d0c512c72c1d50b9420a36431cd10eb5d (patch) | |
tree | 6642ec876ecd15ce62f83075d7f9d261050fe3a6 /guile_type_helpers.c__ | |
parent | Start rework of guile interface. (diff) | |
download | calp-33fa5b5d0c512c72c1d50b9420a36431cd10eb5d.tar.gz calp-33fa5b5d0c512c72c1d50b9420a36431cd10eb5d.tar.xz |
Made to compile as C++.
Diffstat (limited to 'guile_type_helpers.c__')
-rw-r--r-- | guile_type_helpers.c__ | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/guile_type_helpers.c__ b/guile_type_helpers.c__ new file mode 100644 index 00000000..3f76c2d4 --- /dev/null +++ b/guile_type_helpers.c__ @@ -0,0 +1,18 @@ +#include "guile_type_helpers.h" + +#include "macro.h" + +SCM scm_from_strbuf(strbuf* s) + { return scm_from_utf8_stringn (s->mem, s->len - 1); } + +SCM scm_from_vector(VECT(vcomponent)* vect, SCM element_type) { + SCM l = SCM_EOL; + for (size_t i = 0; i < vect->length; i++) { + l = scm_cons( + scm_make_foreign_object_1 (element_type, GET(VECT(vcomponent))(vect, i)), + l); + } + return scm_reverse(l); +} + + |