14 lines
532 B
Text
14 lines
532 B
Text
(with-dyn-lib "./query.so"
|
|
(deffi query "query" void (closure)))
|
|
|
|
(deffi-cb query-cb int ((carray char) (ptr (array 1 size-t))))
|
|
|
|
(query (query-cb (lambda (buf sizeptr)
|
|
(symacrolet ((size [sizeptr 0]))
|
|
(let* ((s "Here am I")
|
|
(l (length s)))
|
|
(cond
|
|
((> l size) 0)
|
|
(t (carray-set-length buf size)
|
|
(carray-put buf s)
|
|
(set size l))))))))
|