r9431: revert to previous handling arrays on sbcl/cmu
[uffi.git] / src / primitives.lisp
index f107ac01d7521076dc3c743b9a93d48127d50acc..3eb0761f522e8a0495473d5397833f20e954b222 100644 (file)
@@ -258,26 +258,16 @@ supports takes advantage of this optimization."
        (t
        (basic-convert-from-uffi-type type)))
     (let ((sub-type (car type)))
-      (cond
-       ((eq sub-type 'cl:quote)
-       (convert-from-uffi-type (cadr type) context))
-       #+sbcl
-       ((and (eq sub-type :array)
-            (or (eq context :declare) (eq context :routine))
-            (= 2 (length type)))
-       `(sb-alien:array ,(%convert-from-uffi-type (second type) context) nil))
-       #+cmu
-       ((and (eq sub-type :array)
-            (or (eq context :declare) (eq context :routine))
-            (= 2 (length type)))
-       `(alien:array ,(%convert-from-uffi-type (second type) context) nil))
-       ((eq sub-type :struct-pointer)
-       #+mcl `(:* (:struct ,(%convert-from-uffi-type (cadr type) :struct)))
-       #-mcl (%convert-from-uffi-type (list '* (second type)) :struct)
-       )
-       ((eq sub-type :struct)
+      (case sub-type
+       (cl:quote
+        (convert-from-uffi-type (cadr type) context))
+       (:struct-pointer
+        #+mcl `(:* (:struct ,(%convert-from-uffi-type (cadr type) :struct)))
+        #-mcl (%convert-from-uffi-type (list '* (cadr type)) :struct)
+        )
+       (:struct
         #+mcl `(:struct ,(%convert-from-uffi-type (cadr type) :struct))
-        #-mcl (%convert-from-uffi-type (second type) :struct)
+        #-mcl (%convert-from-uffi-type (cadr type) :struct)
         )
        (t
         (cons (%convert-from-uffi-type (first type) context)