/[cmucl]/src/code/stream.lisp
ViewVC logotype

Diff of /src/code/stream.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.87.6.1 by rtoy, Sat Sep 19 15:16:05 2009 UTC revision 1.87.6.2 by rtoy, Fri Sep 25 04:14:36 2009 UTC
# Line 716  Line 716 
716             (code-char (aref ibuf start))))))             (code-char (aref ibuf start))))))
717    
718  (defun fast-read-char-string-refill (stream eof-errorp eof-value)  (defun fast-read-char-string-refill (stream eof-errorp eof-value)
719    #+nil    #+debug-frcs
720    (progn    (progn
721      (format *debug-io* "fast-read-char-refill.  Stream before refill:~%")      (format *debug-io* "fast-read-char-refill.  Stream before refill:~%")
722      (describe stream))      (describe stream))
# Line 735  Line 735 
735                            index                            index
736                            nil)))                            nil)))
737        (declare (type index count))        (declare (type index count))
738          #+nil
739          (format *debug-io* "### Refill.   index = ~D, count = ~D~%" index count)
740        (cond ((zerop count)        (cond ((zerop count)
741                 #+debug-frcs
742                 (progn
743                   (format *debug-io* "~& string-index, len = ~S ~S~%"
744                           (lisp-stream-string-index stream)
745                           (lisp-stream-string-buffer-len stream))
746                   (format *debug-io* "~& Count = 0, calling lisp-stream-in~%"))
747               (setf (lisp-stream-in-index stream) in-buffer-length)               (setf (lisp-stream-in-index stream) in-buffer-length)
748               (funcall (lisp-stream-in stream) stream eof-errorp eof-value))               (let ((result
749                        (funcall (lisp-stream-in stream) stream eof-errorp eof-value)))
750                   #+debug-frcs
751                   (format *debug-io* " result = ~S~%" result)
752                   result))
753              (t              (t
754               (setf (lisp-stream-in-index stream) 0)               #+debug-frcs
   
              #+nil  
755               (progn               (progn
756                 (format *debug-io* "~& Stream after refill:~%")                 (format *debug-io* "~& Stream after refill:~%")
757                 (describe stream))                 (describe stream))
758    
759                 (setf (lisp-stream-in-index stream) 0)
760                 (when (plusp (lisp-stream-string-buffer-len stream))
761                   (setf (schar (lisp-stream-string-buffer stream) 0)
762                         (schar (lisp-stream-string-buffer stream)
763                                (1- (lisp-stream-string-buffer-len stream)))))
764    
765                 #+nil
766                 (when (< count 10)
767                   (format *debug-io* " in-buffer = ~S~%"
768                           (map 'string #'code-char (subseq (lisp-stream-in-buffer stream)
769                                                            (- in-buffer-length index)
770                                                            (+ count (- in-buffer-length index))))))
771    
772               (multiple-value-bind (s char-count octet-count)               (multiple-value-bind (s char-count octet-count)
773                   (octets-to-string (lisp-stream-in-buffer stream)                   (octets-to-string (lisp-stream-in-buffer stream)
774                                     :start (lisp-stream-in-index stream)                                     :start 0
775                                     :end count                                     :end (+ count (- in-buffer-length index))
776                                     :string (lisp-stream-string-buffer stream)                                     :string (lisp-stream-string-buffer stream)
777                                       :s-start 1
778                                     :external-format (fd-stream-external-format stream))                                     :external-format (fd-stream-external-format stream))
779                 (declare (ignore s))                 (declare (ignore s))
780    
781                 (setf (lisp-stream-string-buffer-len stream) char-count)                 (setf (lisp-stream-string-buffer-len stream) char-count)
782                 (setf (lisp-stream-string-index stream) 1)                 (setf (lisp-stream-string-index stream) 2)
783                 (incf (lisp-stream-in-index stream) octet-count)                 (incf (lisp-stream-in-index stream) octet-count)
784                 #+nil                 #+nil
785                 (progn                 (progn
786                     (format *debug-io* "~& ### After refill, char-count, octet-count, string len = ~S ~S~%"
787                             char-count octet-count)
788                     (format *debug-io* "String = ~S~%" (subseq (lisp-stream-string-buffer stream) 1 char-count)))
789                   #+debug-frcs
790                   (progn
791                   (format *debug-io* "~& Stream after OS~%")                   (format *debug-io* "~& Stream after OS~%")
792                   (describe stream))                   (describe stream))
793                 (schar (lisp-stream-string-buffer stream) 0)))))))                 (schar (lisp-stream-string-buffer stream) 1)))))))
794    
795    
796  ;;; FAST-READ-BYTE-REFILL  --  Interface  ;;; FAST-READ-BYTE-REFILL  --  Interface

Legend:
Removed from v.1.87.6.1  
changed lines
  Added in v.1.87.6.2

  ViewVC Help
Powered by ViewVC 1.1.5