[plt-scheme] Questions about modules, compilation, namespaces, planet and ffi
Ok, thanks for your replys, they helped a lot.
This is what I made for the list, is it right?? (at least, it seems to work)
;====================================
; Make a list, and free the array
(define-fun-syntax _list/free
(syntax-id-rules ()
[(_ t c) (type: _pointer
pre: (malloc c t)
post: (x => (begin0
(cblock->list x t c)
(free x))))]))
; Original C function prototype
; char **eet_list (Eet_File *ef, char *glob, int *count_ret);
; And here I use _list/free
(defeet* eet-list : _EetFile _string (o_count : (_ptr o _sint))
-> (_list/free _string o_count))
;====================================
Now, what about strings?? they also should be freed right??
Would this work?? (As the previous one, it seems to work)
; Make a string/utf-8, and free the char* pointer
(define-fun-syntax _string/utf-8/free
(syntax-id-rules ()
[_ (type: _bytes
post: (x => (begin0
(bytes->string/utf-8 x)
(free x))))]))
Well, I have another problem with syntax-case, modules and
current-continuation-marks , but I'm going to re-read all the
documentation I have, and see if I can solve it myself.
Have fun ;)