# HG changeset patch # Parent 79385f8812e75ad01d9899caa2df71b1449085fb Fix MAKE-FUNCTION-POINTER for JNA 4.0.0. *ENCODING* contains the encoding to be used for converting strings between Java and FFI, by default set to "UTF-8". diff -r 79385f8812e7 src/cffi-abcl.lisp --- a/src/cffi-abcl.lisp Thu Nov 07 13:35:02 2013 +0100 +++ b/src/cffi-abcl.lisp Thu Nov 07 13:53:54 2013 +0100 @@ -396,12 +396,17 @@ (:stdcall "ALT_CONVENTION") (:cdecl "C_CONVENTION"))) +(defparameter *encoding* "UTF-8" + "Encoding for conversion between Java and native strings.") + (defun make-function-pointer (pointer convention) +;;; c.f. (jnew (private-jconstructor "com.sun.jna.Function" - "com.sun.jna.Pointer" "int") + "com.sun.jna.Pointer" "int" "java.lang.String") pointer (jfield "com.sun.jna.Function" - (convert-calling-convention convention)))) + (convert-calling-convention convention)) + *encoding*)) (defun lisp-value-to-java (value foreign-type) (if (eq foreign-type :pointer)