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