X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fstrings.lisp;h=430d8ab48d15c1b29c988108570867b41e487b89;hb=11b267a16a8573596ef52f177660e694c6ae8b94;hp=834d251b2620ffc09888dfdb98507fc2924e42b6;hpb=2f76e0364807d7f71190340e4d1a9ae9e441ffe5;p=uffi.git diff --git a/src/strings.lisp b/src/strings.lisp index 834d251..430d8ab 100644 --- a/src/strings.lisp +++ b/src/strings.lisp @@ -393,13 +393,13 @@ that LW/CMU automatically converts strings from c-calls." `(new-ptr ,size) ) -(defmacro foreign-string-length (foreign-string) - #+allegro `(ff:foreign-strlen ,foreign-string) +(defun foreign-string-length (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)