diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2019-02-05 20:36:16 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2019-02-05 20:36:16 +0100 |
commit | cf7302eca72884264455247c2416c853c95a4d08 (patch) | |
tree | 89260d82ac82ac1cc6e6fb21b6bdafa159e176f7 | |
parent | Fix most memmory problems. (diff) | |
download | calp-cf7302eca72884264455247c2416c853c95a4d08.tar.gz calp-cf7302eca72884264455247c2416c853c95a4d08.tar.xz |
Made scheme code work again.
-rwxr-xr-x | code.scm | 5 | ||||
-rw-r--r-- | scheme.scm.c | 14 |
2 files changed, 11 insertions, 8 deletions
@@ -7,8 +7,9 @@ (begin ;; Supurflous begin block here to make sourcing into geiser easier. (setenv "LD_LIBRARY_PATH" (getcwd)) - (load-extension "libguile-calendar" "init_calendar") - (define v (make-calendar "cal"))) + (load-extension "libguile-calendar" "init_calendar")) + +(define v (make-calendar (cadr (command-line)))) (do ((i 0 (1+ i))) ((>= i (calendar-size v))) diff --git a/scheme.scm.c b/scheme.scm.c index f1fcb349..da8cd3f1 100644 --- a/scheme.scm.c +++ b/scheme.scm.c @@ -49,14 +49,16 @@ SCM_DEFINE (calendar_get_attr, "calendar-get-attr", 3, 0, 0, if (c == NULL) return SCM_BOOL_F; - LINK(strbuf)* cur = c->vals.head; - SCM llist = NULL; - while (cur != NULL) { - llist = scm_cons (scm_from_strbuf(cur->value), llist); - cur = cur->after; + SCM llist = SCM_EOL; + + // TODO actuall iterators + // TODO this reverses the list + for ( LINK(strbuf)* n = c->vals.head->after; + n->after != NULL; + n = n->after) { + llist = scm_cons(scm_from_strbuf(n->value), llist); } - // // return scm_from_strbuf(&c->val); return llist; } |