anchor.diff:        (if (and (= position (length segment-table))
                  (/= (ogg-page-crc reader) (get-crc reader)))
             (error 'ogg-error :message "CRC mismatch"))
  -      (if (or (not (ogg-will-be-continued reader))
  -              (< position
  -                 (1- (length segment-table))))
  -          (cons packet pages)
  +      (if (and (ogg-will-be-continued reader)
  +               (= position (length segment-table)))
             (read-packet-pages reader
                                (ogg-page-number reader)
  -                             (cons packet pages))))))
  +                             (cons packet pages))
  +          (cons packet pages)))))
   
   (defun read-packet (reader)
     "Reads a packet from OGG stream"
  
positive.code:       (read-page-header reader))
  
      (if (and previous-page-num
               (= (- (ogg-page-number reader)
                     previous-page-num) 1)
               (ogg-is-continued reader))
          (error 'ogg-error :message "Lost sync"))
  
      (let ((packet (make-array (nth position segment-table) :element-type '(ub 8))))
  
negative.code:                                           (setq segment-len 0)) into packet-sizes
          finally (return
                    (if (= lacing-val 255)
                        (values (append packet-sizes (list segment-len)) t)
                        (values packet-sizes nil)))))
  
  (defun read-page-header (reader)
  