(in-package #:uffi-tests)
-(deftest chptr.1
+(deftest :chptr.1
(let ((native-string "test string"))
(uffi:with-foreign-string (fs native-string)
(ensure-char-character
(deref-pointer fs :char))))
#\t)
-(deftest chptr.2
+(deftest :chptr.2
(let ((native-string "test string"))
(uffi:with-foreign-string (fs native-string)
(ensure-char-character
(deref-pointer fs :unsigned-char))))
#\t)
-(deftest chptr.3
+(deftest :chptr.3
(let ((native-string "test string"))
(uffi:with-foreign-string (fs native-string)
(ensure-char-integer
(deref-pointer fs :unsigned-char))))
116)
-(deftest chptr.4
+(deftest :chptr.4
(let ((native-string "test string"))
(uffi:with-foreign-string (fs native-string)
(numberp
(deref-pointer fs :byte))))
t)
-(deftest chptr.5
+(deftest :chptr.5
(let ((fs (uffi:allocate-foreign-object :unsigned-char 128)))
(setf (uffi:deref-array fs '(:array :unsigned-char) 0)
(uffi:ensure-char-storable #\a))
(uffi:convert-from-foreign-string fs))
"a")
-(deftest chptr.6
+;; This produces an array which needs fli:foreign-aref to access
+;; rather than fli:dereference
+
+#-lispworks
+(deftest :chptr.6
(uffi:with-foreign-object (fs '(:array :unsigned-char 128))
(setf (uffi:deref-array fs '(:array :unsigned-char) 0)
(uffi:ensure-char-storable #\a))