)
(defun foreign-string-length (foreign-string)
- #+allegro `(ff:foreign-strlen ,foreign-string)
+ #+allegro (ff:foreign-strlen foreign-string)
#-allegro
- `(loop
- for size from 0
- until (char= (deref-array ,foreign-string '(:array :unsigned-char) size) #\Null)
- finally (return size)))
+ (loop
+ for size from 0
+ until (zerop (deref-array foreign-string '(:array :unsigned-char) size))
+ finally (return size)))
(defmacro with-foreign-string ((foreign-string lisp-string &optional encoding)