On Sun, Apr 18, 2010 at 7:17 PM, Alexandre Paes <alex.paes@streetdogstudio.com> wrote:
(defun release-capture (capture*) (cffi:with-foreign-object (capture** :long) (setf (cffi:mem-ref capture** :long) (cffi:pointer-address capture*)) (%release-capture capture**))) It works but it doesn't feel all that nice, is this the best/correct way of achieving the same as the C code?
You should probably use the pointer type: (with-foreign-object (capture** :pointer) (setf (cffi:mem-ref capture** :pointer) capture*) (%release-capture capture**)) Enhancing with-foreign-object such that it accepts the same arguments as foreign-alloc is in my wish list. That would help make this example more concise. HTH, -- Luís Oliveira http://r42.eu/~luis/