blob: 5c7090eca34fcd3eb4a9e4fbf124846ee9c827d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include "guile_type_helpers.h"
#include "guile_interface.h"
#include "macro.h"
SCM scm_from_strbuf(strbuf* s) {
if (s->scm == NULL) {
s->scm = scm_from_utf8_stringn (s->mem, s->len - 1);
scm_gc_protect_object(s->scm);
}
return s->scm;
}
SCM scm_from_vector(VECT(vcomponent)* vect) {
SCM l = SCM_EOL;
for (size_t i = 0; i < vect->length; i++) {
vcomponent* v = GET(VECT(vcomponent))(vect, i);
l = scm_cons(scm_from_vcomponent(v), l);
}
return scm_reverse(l);
}
|