Version 1.8.5: Fix long-long detection
[uffi.git] / src / primitives.lisp
index 66a0a7c7e845ecf7fb5f6993d4c25c1c83ab58f3..a43eb8dd24e4c2ff1b615475be0cdd900113cfae 100644 (file)
@@ -141,7 +141,15 @@ supports takes advantage of this optimization."
       (:unsigned-short . c-call:unsigned-short)
       (:int . alien:integer) (:unsigned-int . c-call:unsigned-int)
       (:long . c-call:long) (:unsigned-long . c-call:unsigned-long)
+      #+#.(cl:if (cl:and (cl:find-package (cl:string '#:c-call))
+                         (cl:find-symbol (cl:string '#:long-long)
+                                         (cl:string '#:c-call)))
+                 '(and) '(or))
       (:long-long . c-call:long-long)
+      #+#.(cl:if (cl:and (cl:find-package (cl:string '#:c-call))
+                         (cl:find-symbol (cl:string '#:unsigned-long-long)
+                                         (cl:string '#:c-call)))
+                 '(and) '(or))
       (:unsigned-long-long . c-call:unsigned-long-long)
       (:float . c-call:float) (:double . c-call:double)
       (:array . alien:array)))