Function: READ-STREAM

Documentation

Reads a character from the stream, translating entities as it goes (assuming *convert-entities* is non-NIL).

Source

(defun read-stream (stream)
  "Reads a character from the stream, translating entities as it
goes (assuming *convert-entities* is non-NIL)."
  (let ((c (read-char stream nil)))
    (if (or (not (char= c #\&))
            (not *convert-entities*))
        c
        (loop with ent = (make-extendable-string 5)
           for char = (read-char stream)
           do (push-string char ent)
           until (char= char #\;)
           finally (return (resolve-entity (coerce ent 'simple-string)))))))
Source Context