Changeset 5580


Ignore:
Timestamp:
Dec 3, 2006, 6:41:24 AM (18 years ago)
Author:
Gary Byers
Message:

FORCE-OUTPUT, FINISH-OUTPUT on STRING-OUTPUT-STREAMs are no-ops.

Need an ioblock-based character-read-vector function for
string-input-streams.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-1/l1-streams.lisp

    r5575 r5580  
    40834083(def-standard-initial-binding %string-output-stream-ioblocks% (%cons-pool nil))
    40844084
     4085(defmethod stream-force-output ((s string-output-stream))
     4086  nil)
     4087
     4088(defmethod stream-finish-output ((s string-output-stream))
     4089  nil)
     4090
    40854091;;; Should only be used for a stream whose class is exactly
    40864092;;; *string-output-stream-class*
     
    44684474
    44694475
     4476(defun string-input-stream-character-read-vector (ioblock vector start end)
     4477  (let* ((string (string-stream-ioblock-string ioblock))
     4478         (idx (string-input-stream-ioblock-index ioblock))
     4479         (limit (string-input-stream-ioblock-end ioblock)))
     4480    (declare (fixnum idx limit))
     4481    (do* ((i start (1+ i)))
     4482         ((= i end) (setf (string-input-stream-ioblock-index ioblock) idx) end)
     4483      (declare (fixnum i))
     4484      (if (< idx limit)
     4485        (setf (uvref vector i) (schar string idx)
     4486              idx (1+ idx))
     4487        (progn
     4488          (setf (string-input-stream-ioblock-index ioblock) idx)
     4489          (return i))))))
     4490         
     4491
     4492
    44704493(defun make-string-input-stream (string &optional (start 0)
    44714494                                        (end nil))
     
    44914514                     :read-char-when-locked-function 'string-input-stream-ioblock-read-char
    44924515                     :peek-char-function 'string-input-stream-ioblock-peek-char
    4493                      :character-read-vector-function 'generic-character-read-vector
     4516                     :character-read-vector-function 'string-input-stream-character-read-vector
    44944517                     :close-function #'false
    44954518                     :unread-char-function 'string-input-stream-ioblock-unread-char
Note: See TracChangeset for help on using the changeset viewer.