(defun create-cbuffered-db-assoc-callback (fun &optional name)
(create-db-assoc-callback
(lambda (secondary key-ptr key-size data-ptr data-size)
(multiple-value-bind (use-ret ret-buf)
(funcall fun secondary
(make-cbuffer-from-pointer key-ptr key-size)
(make-cbuffer-from-pointer data-ptr data-size))
(cond (use-ret (values t (cbuffer-data ret-buf) (cbuffer-size ret-buf)))
(ret-buf (free-cbuffer ret-buf)
(values nil nil))
(t (values nil nil)))))
name))Source Context