X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=byte-stream.lisp;h=617cad54f765d9a15ce1b576185fb6c693b10ae2;hp=36f77e7048ff9822b83a66aab06db3e506312adf;hb=e96b017d2a09ffd9c9279cb4c2341c53f0581022;hpb=7fad9c10510187764a6afbe0ac070a68011278b8 diff --git a/byte-stream.lisp b/byte-stream.lisp index 36f77e7..617cad5 100644 --- a/byte-stream.lisp +++ b/byte-stream.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: June 2003 ;;;; -;;;; $Id: byte-stream.lisp,v 1.1 2003/07/05 02:32:08 kevin Exp $ +;;;; $Id$ ;;;; ;;;; Works for CMUCL, SBCL, and AllergoCL only ;;;; @@ -21,6 +21,8 @@ (in-package #:kmrcl) +;; Intial CMUCL version by OnShored. Ported to SBCL by Kevin Rosenberg + #+(or cmu sbcl) (progn (defstruct (byte-array-output-stream @@ -108,7 +110,11 @@ Make-Byte-Array-Output-Stream since the last call to this function." (let ((byte-array (byte-array-input-stream-byte-array stream)) (index (byte-array-input-stream-current stream))) (cond ((= index (byte-array-input-stream-end stream)) - (eof-or-lose stream eof-errorp eof-value)) + #+cmu + (eof-or-lose stream eof-errorp eof-value) + #+sbcl + (sb-impl::eof-or-lose stream eof-errorp eof-value) + ) (t (setf (byte-array-input-stream-current stream) (1+ index)) (aref byte-array index))))) @@ -117,7 +123,11 @@ Make-Byte-Array-Output-Stream since the last call to this function." (let ((byte-array (byte-array-input-stream-byte-array stream)) (index (byte-array-input-stream-current stream))) (cond ((= index (byte-array-input-stream-end stream)) - (eof-or-lose stream eof-errorp eof-value)) + #+cmu + (eof-or-lose stream eof-errorp eof-value) + #+sbcl + (sb-impl::eof-or-lose stream eof-errorp eof-value) + ) (t (setf (byte-array-input-stream-current stream) (1+ index)) (aref byte-array index))))) @@ -174,6 +184,9 @@ Make-Byte-Array-Output-Stream since the last call to this function." ) ;; progn + +;;; Simple streams implementation by Kevin Rosenberg + #+allegro (progn @@ -207,6 +220,7 @@ Make-Byte-Array-Output-Stream since the last call to this function." (defmethod excl:device-extend ((stream extendable-buffer-output-stream) need action) + (declare (ignore action)) (let* ((len (file-position stream)) (new-len (max (+ len need) (* 2 len))) (old-buf (slot-value stream 'excl::buffer))