'(error "WITH-CAST-POINTER not (yet) implemented for ~A"
(lisp-implementation-type)))
+ (defun convert-external-name (name)
+ "Add an underscore to NAME if necessary for the ABI."
+ #+macosx (concatenate 'string "_" name)
+ #-macosx name)
+
(defmacro def-foreign-var (names type module)
#-lispworks (declare (ignore module))
(let ((foreign-name (if (atom names) names (first names)))
#+allegro
`(define-symbol-macro ,lisp-name
(ff:fslot-value-typed (quote ,(convert-from-uffi-type type :deref))
- :c (ff:get-entry-point ,foreign-name)))
+ :c (ff:get-entry-point ,(convert-external-name foreign-name))))
#+lispworks
`(progn
(fli:define-foreign-variable (,lisp-name ,foreign-name)