anchor.diff:      (if (= sum checksum)
           t
           ;; try the older, signed arithmetic way
  -        (let ((sum (compute-old-checksum-for-tar-header block start)))
  -          (= sum checksum)))))
  +        (let ((signed-sum (compute-old-checksum-for-tar-header block start)))
  +          (values (= signed-sum checksum) sum)))))
   
   (defun null-block-p (block start)
     (declare (type (simple-array (unsigned-byte 8) (*)) block))
  
positive.code: (defmethod initialize-instance :after ((instance tar-archive) &rest initargs)
    (declare (ignore initargs))
    (initialize-entry-buffer instance +tar-header-length+))
  
  (defun convert-bytevec-to-string (buffer &key (start 0) end)
    (let* ((end (or end
  
negative.code:   (with-extracted-fields (tar-header buffer start
                                       %name mode mtime size checksum uid
                                       gid magic typeflag uname gname)
      (multiple-value-bind (validp computed)
          (tar-block-checksum-matches-p buffer checksum start)
        (unless validp
          (error 'invalid-tar-checksum-error
                 :provided checksum :computed computed))
        (make-instance 'tar-entry
                       :%name %name
                       :mode mode
                       :mtime mtime
                       :size size
                       :checksum checksum
                       :uid uid
                       :gid gid
                       :magic magic
                       :typeflag typeflag
                       :uname uname
                       :gname gname))))
  
  
  