diff --git a/src/clj/coffi/ffi.clj b/src/clj/coffi/ffi.clj index 5910ea1..ebb8094 100644 --- a/src/clj/coffi/ffi.clj +++ b/src/clj/coffi/ffi.clj @@ -685,8 +685,10 @@ :multi-arity fn-tail nil))] `(let [~address (find-symbol ~(name (:symbol args))) - ~native-sym (-> (make-downcall ~address ~(:native-arglist args) ~(:return-type args)) - (make-serde-wrapper ~(:native-arglist args) ~(:return-type args))) + ~(or (-> args :wrapper :native-fn) + native-sym) + (-> (make-downcall ~address ~(:native-arglist args) ~(:return-type args)) + (make-serde-wrapper ~(:native-arglist args) ~(:return-type args))) fun# ~(if (:wrapper args) `(fn ~(:name args) ~@fn-tail)