- (when (>= buffpos buffer-ptr)
- (setf (sm last-char-read-size stream) lcrs)
- (let ((bytes (refill-buffer stream blocking)))
- (declare (type fixnum bytes))
- (setf buffpos (sm buffpos stream)
- buffer-ptr (sm buffer-ptr stream))
- (unless (plusp bytes)
- (setf (sm buffpos stream) buffpos
- (sm last-char-read-size stream) lcrs
- (sm oc-state stream) state)
- (if (zerop bytes)
- (return (values count nil))
- (return (values count :eof))))))
- (prog1 (bref buffer buffpos)
- (incf buffpos)
- (incf lcrs)))
- (unput (n)
- (decf buffpos n)))
- (let* ((cnt 0)
- (char (octets-to-char ef state cnt #'input #'unput))
- (code (char-code char)))
- (setq lcrs cnt)
- (when (and (< code 32) ctrl (svref ctrl code))
- (setq char (funcall (the (or symbol function) (svref ctrl code))
- stream char)))
- (cond ((null char)
- (setf (sm buffpos stream) buffpos
- (sm last-char-read-size stream) lcrs
- (sm oc-state stream) state)
- (return (values count :eof)))
- ((and search (char= char search))
- (setf (sm buffpos stream) buffpos
- (sm last-char-read-size stream) lcrs
- (sm oc-state stream) state)
- (return (values count t)))
- (t
- (setf (char string posn) char))))))))
+ (when (>= buffpos buffer-ptr)
+ (setf (sm last-char-read-size stream) lcrs)
+ (let ((bytes (refill-buffer stream blocking)))
+ (declare (type fixnum bytes))
+ (setf buffpos (sm buffpos stream)
+ buffer-ptr (sm buffer-ptr stream))
+ (unless (plusp bytes)
+ (setf (sm buffpos stream) buffpos
+ (sm last-char-read-size stream) lcrs
+ (sm oc-state stream) state)
+ (if (zerop bytes)
+ (return (values count nil))
+ (return (values count :eof))))))
+ (prog1 (bref buffer buffpos)
+ (incf buffpos)
+ (incf lcrs)))
+ (unput (n)
+ (decf buffpos n)))
+ (let* ((cnt 0)
+ (char (octets-to-char ef state cnt #'input #'unput))
+ (code (char-code char)))
+ (setq lcrs cnt)
+ (when (and (< code 32) ctrl (svref ctrl code))
+ (setq char (funcall (the (or symbol function) (svref ctrl code))
+ stream char)))
+ (cond ((null char)
+ (setf (sm buffpos stream) buffpos
+ (sm last-char-read-size stream) lcrs
+ (sm oc-state stream) state)
+ (return (values count :eof)))
+ ((and search (char= char search))
+ (setf (sm buffpos stream) buffpos
+ (sm last-char-read-size stream) lcrs
+ (sm oc-state stream) state)
+ (return (values count t)))
+ (t
+ (setf (char string posn) char))))))))