- (widen)
- (let ((header-start (- data-start 512)))
- (goto-char (+ header-start tar-size-offset))
- (delete-region (point) (+ (point) 12))
- (insert (format "%11o " subfile-size))
- ;;
- ;; Maybe update the datestamp.
- (if (not tar-update-datestamp)
- nil
- (goto-char (+ header-start tar-time-offset))
- (delete-region (point) (+ (point) 12))
- (insert (tar-octal-time (current-time)))
- (insert ?\s))
- ;;
- ;; compute a new checksum and insert it.
- (let ((chk (tar-header-block-checksum
- (buffer-substring header-start data-start))))
- (goto-char (+ header-start tar-chk-offset))
- (delete-region (point) (+ (point) 8))
- (insert (format "%6o\0 " chk))
- (setf (tar-header-checksum descriptor) chk))))))