(unless (char= (%peek-char stream) #\:)
(error "FFI descriptor must start with a semicolon."))
(let ((descriptor (subseq (read-until stream #'terminalp) 1))
(subdescriptors nil))
(do* ((start 0 (1+ end))
(unless (char= (%peek-char stream) #\:)
(error "FFI descriptor must start with a semicolon."))
(let ((descriptor (subseq (read-until stream #'terminalp) 1))
(subdescriptors nil))
(do* ((start 0 (1+ end))