Changeset 585


Ignore:
Timestamp:
Feb 28, 2004, 1:21:32 AM (21 years ago)
Author:
Gary Byers
Message:

stream ELEMENT-SHIFT fixes (from Bryan O'Connor.)

Location:
trunk/ccl/level-1
Files:
2 edited

Legend:

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

    r478 r585  
    882882                                :limit insize))
    883883          (setf (ioblock-inbuf-lock ioblock) (make-lock))
    884           (setf (ioblock-element-shift ioblock) (1- (/ in-size-in-octets insize)))
     884          (setf (ioblock-element-shift ioblock) (ceiling (log  (/ in-size-in-octets insize) 2)))
    885885          )))
    886886    (if share-buffers-p
     
    903903                                  :size out-size-in-octets))
    904904            (setf (ioblock-outbuf-lock ioblock) (make-lock))
    905             (setf (ioblock-element-shift ioblock) (1- (/ out-size-in-octets outsize)))
     905            (setf (ioblock-element-shift ioblock) (ceiling (log (/ out-size-in-octets outsize) 2)))
    906906            ))))
    907907    (when element-type
  • trunk/ccl/level-1/l1-sysio.lisp

    r442 r585  
    369369(defun input-file-ioblock-advance (stream file-ioblock read-p)
    370370  (let* ((newpos (+ (file-ioblock-octet-pos file-ioblock)
    371                     (io-buffer-count (file-ioblock-inbuf file-ioblock)))))
    372     (unless (eql newpos (file-octet-filepos file-ioblock))
    373       (break "Expected newpos to be ~d, fd is at ~d"
    374              newpos (file-octet-filepos file-ioblock)))
     371                    (io-buffer-count (file-ioblock-inbuf file-ioblock))))
     372         (curpos (ioblock-octets-to-elements
     373                  file-ioblock
     374                  (file-octet-filepos file-ioblock))))
     375    (unless (eql newpos curpos)
     376      (break "Expected newpos to be ~d, fd is at ~d" newpos curpos))
    375377    (setf (file-ioblock-octet-pos file-ioblock) newpos)
    376378    (file-stream-advance stream file-ioblock read-p)))
Note: See TracChangeset for help on using the changeset viewer.