anchor.diff:          (let ((size (read-sequence block stream)))
             (when (zerop size)
               (return (nreverse result)))
  -          (unless (= size 512)
  +          (unless (= size +block-size+)
               (error "Bad size on tarfile"))
             (when (every #'zerop block)
               (return (nreverse result)))
             (let* ((payload-type (payload-type (aref block 156)))
                    (tar-path (full-path block))
                    (payload-size (payload-size block)))
  -            (skip-n-blocks (ceiling payload-size 512) stream)
  +            (skip-n-blocks (ceiling payload-size +block-size+) stream)
               (case payload-type
                 (:file
                  (push tar-path result))
  
positive.code: (in-package #:ql-minitar)
  
  (defun make-block-buffer ()
    (make-array 512 :element-type '(unsigned-byte 8) :initial-element 0))
  
  (defun skip-n-blocks (n stream)
    (let ((block (make-block-buffer)))
      (dotimes (i n)
        (read-sequence block stream))))
  
  (defun ascii-subseq (vector start end)
    (let ((string (make-string (- end start))))
  
negative.code: 
  (defun save-file (file size stream)
    (multiple-value-bind (full-blocks partial)
        (truncate size +block-size+)
      (ensure-directories-exist file)
      (with-open-file (outstream file
                       :direction :output
  