+2004-04-13 Kevin Rosenberg (kevin@rosenberg.net)
+ * str/string.lisp: Add new FOREIGN-STRING-LENGTH
+
2003-08-15 Kevin Rosenberg (kevin@rosenberg.net)
* Added with-cast-pointer and def-foreign-var (patches submitted
by Edi Weitz).
+cl-uffi (1.4.8-1) unstable; urgency=low
+
+ * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org> Tue, 13 Apr 2004 14:13:04 -0600
+
cl-uffi (1.4.7-1) unstable; urgency=low
* Fix fast-native-to-string on 16-bit wide char Allegro
#:convert-to-foreign-string
#:allocate-foreign-string
#:with-foreign-string
+ #:foreign-string-length
;; function call
#:def-function
`(new-ptr ,size)
)
+(defun foreign-string-length (foreign-string)
+ #+allegro `(ff:foreign-strlen ,ptr)
+ #-allegro
+ `(loop with size = 0
+ until (char= (deref-array ,ptr '(:array :unsigned-char) size) #\Null)
+ do (incf size)
+ finally return size))
+
+
(defmacro with-foreign-string ((foreign-string lisp-string) &body body)
(let ((result (gensym)))
`(let* ((,foreign-string (convert-to-foreign-string ,lisp-string))