(define-alien-type short (integer 16))
(define-alien-type int (integer 32))
(define-alien-type long (integer #.sb!vm::n-machine-word-bits))
(define-alien-type short (integer 16))
(define-alien-type int (integer 32))
(define-alien-type long (integer #.sb!vm::n-machine-word-bits))
(define-alien-type unsigned-char (unsigned 8))
(define-alien-type unsigned-short (unsigned 16))
(define-alien-type unsigned-int (unsigned 32))
(define-alien-type unsigned-long (unsigned #.sb!vm::n-machine-word-bits))
(define-alien-type unsigned-char (unsigned 8))
(define-alien-type unsigned-short (unsigned 16))
(define-alien-type unsigned-int (unsigned 32))
(define-alien-type unsigned-long (unsigned #.sb!vm::n-machine-word-bits))
until (zerop (sap-ref-8 sap offset))
finally (return offset))))
(let ((result (make-string length :element-type 'base-char)))
until (zerop (sap-ref-8 sap offset))
finally (return offset))))
(let ((result (make-string length :element-type 'base-char)))
(defun %naturalize-utf8-string (sap)
(declare (type system-area-pointer sap))
(locally
(declare (optimize (speed 3) (safety 0)))
(let ((byte-length (do* ((offset 0 (1+ offset))
(defun %naturalize-utf8-string (sap)
(declare (type system-area-pointer sap))
(locally
(declare (optimize (speed 3) (safety 0)))
(let ((byte-length (do* ((offset 0 (1+ offset))