For functions using the libffi foreign-funcall path, functions defined
with :string parameters still fail because
TRANSLATE-INTO-FOREIGN-MEMORY is not defined on
FOREIGN-STRING-TYPE. E.g.,
(defcfun ("xcb_intern_atom" xcb-intern-atom) (:struct xcb-intern-atom-cookie-t)
(c :pointer)
(only_if_exists :unsigned-char)
(name_len :unsigned-short)
(name :string))
Calling this fails:
There is no applicable method for the generic function
#<STANDARD-GENERIC-FUNCTION TRANSLATE-INTO-FOREIGN-MEMORY (5)>
when called with arguments
(#.(SB-SYS:INT-SAP #X7FFFD8000DC0)
#<CFFI::FOREIGN-STRING-TYPE :UTF-8>
#.(SB-SYS:INT-SAP #X7FFFECDB7FD8)).
[Condition of type SIMPLE-ERROR]
This is using unmodified master.
--
Ryan Pavlik <rpavlik(a)gmail.com>
425.220.9585