;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314\315\306\301&\210\310\316\302\317\314\320\306\301&\210\310\321\302\322\314\320\306\301&\207" [custom-declare-group tar nil "Simple editing of tar files." :prefix "tar-" :group data custom-declare-variable tar-anal-blocksize 20 "The blocksize of tar files written by Emacs, or nil, meaning don't care.\nThe blocksize of a tar file is not really the size of the blocks; rather, it is\nthe number of blocks written with one system call. When tarring to a tape,\nthis is the size of the *tape* blocks, but when writing to a file, it doesn't\nmatter much. The only noticeable difference is that if a tar file does not\nhave a blocksize of 20, tar will tell you that; all this really controls is\nhow many null padding bytes go on the end of the tar file." :type (choice integer (const nil)) tar-update-datestamp "Non-nil means Tar mode should play fast and loose with sub-file datestamps.\nIf this is true, then editing and saving a tar file entry back into its\ntar file will update its datestamp. If false, the datestamp is unchanged.\nYou may or may not want this - it is good in that you can tell when a file\nin a tar archive has been changed, but it is bad for the same reason that\nediting a file in the tar archive at all is bad - the changed version of\nthe file never exists on disk." boolean tar-mode-show-date "Non-nil means Tar mode should show the date/time of each subfile.\nThis information is useful, but it takes screen space away from file names."] 8)
(defvar tar-parse-info nil)
#@70 Buffer containing the tar archive from which a member was extracted.
(defvar tar-superior-buffer nil (#$ . 1978))
#@56 Tar descriptor for a member extracted from an archive.
(defvar tar-superior-descriptor nil (#$ . 2098))
(defvar tar-file-name-coding-system nil)
(byte-code "\300\301\302\303#\210\300\304\302\303#\207" [put tar-superior-buffer permanent-local t tar-superior-descriptor] 4)
#@45 Buffer that holds the actual raw tar bytes.
(defvar tar-data-buffer nil (#$ . 2376))
(make-variable-buffer-local 'tar-data-buffer)
#@59 If non-nil, `tar-data-buffer' indeed holds raw tar bytes.
(defvar tar-data-swapped nil (#$ . 2513))
(make-variable-buffer-local 'tar-data-swapped)
#@57 Return non-nil if the tar-data is in `tar-data-buffer'.
(defalias 'tar-data-swapped-p #[nil "\302!\205 \303!\303 U\204 \303!\303 V=\204 \304\305!\210 \207" [tar-data-buffer tar-data-swapped buffer-live-p buffer-size cl--assertion-failed (or (= (buffer-size tar-data-buffer) (buffer-size)) (eq tar-data-swapped (> (buffer-size tar-data-buffer) (buffer-size))))] 3 (#$ . 2666)])
#@143 Swap buffer contents between current buffer and `tar-data-buffer'.
Preserve the modified states of the buffers and set `buffer-swapped-with'.
(defalias 'tar-swap-data #[nil "\304!\304 \305!\210?\306\n!\210rq\210\306 !+\207" [tar-data-buffer current-buffer-modified-p data-buffer-modified-p tar-data-swapped buffer-modified-p buffer-swap-text restore-buffer-modified-p] 2 (#$ . 3057)])
#@45 compiler-macro for inlining `tar-header-p'.
(defalias 'tar-header-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-p (and (vectorp cl-x) (>= (length cl-x) 17) (memq (aref cl-x 0) cl-struct-tar-header-tags) t)) nil] 7 (#$ . 3455)])
(put 'tar-header-p 'compiler-macro 'tar-header-p--cmacro)
(defalias 'tar-header-p #[(cl-x) "\302!\205 G\303Y\205 \304H >\205 \305\207" [cl-x cl-struct-tar-header-tags vectorp 17 0 t] 2])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put tar-header-p side-effect-free error-free put tar-header cl-deftype-satisfies] 5)
#@54 compiler-macro for inlining `tar-header-data-start'.
(defalias 'tar-header-data-start--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-data-start (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 1)) nil] 7 (#$ . 4104)])
(put 'tar-header-data-start 'compiler-macro 'tar-header-data-start--cmacro)
#@227 Access slot "data-start" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-data-start #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 1] 4 (#$ . 4551)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-data-start side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-name'.
(defalias 'tar-header-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-name (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 2)) nil] 7 (#$ . 5061)])
(put 'tar-header-name 'compiler-macro 'tar-header-name--cmacro)
#@221 Access slot "name" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-name #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 2] 4 (#$ . 5478)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-name side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-mode'.
(defalias 'tar-header-mode--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-mode (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 3)) nil] 7 (#$ . 5970)])
(put 'tar-header-mode 'compiler-macro 'tar-header-mode--cmacro)
#@221 Access slot "mode" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-mode #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 3] 4 (#$ . 6387)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-mode side-effect-free t] 4)
#@47 compiler-macro for inlining `tar-header-uid'.
(defalias 'tar-header-uid--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-uid (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 4)) nil] 7 (#$ . 6879)])
(put 'tar-header-uid 'compiler-macro 'tar-header-uid--cmacro)
#@220 Access slot "uid" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-uid #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 4] 4 (#$ . 7291)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-uid side-effect-free t] 4)
#@47 compiler-macro for inlining `tar-header-gid'.
(defalias 'tar-header-gid--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-gid (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 5)) nil] 7 (#$ . 7780)])
(put 'tar-header-gid 'compiler-macro 'tar-header-gid--cmacro)
#@220 Access slot "gid" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-gid #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 5] 4 (#$ . 8192)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-gid side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-size'.
(defalias 'tar-header-size--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-size (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 6)) nil] 7 (#$ . 8681)])
(put 'tar-header-size 'compiler-macro 'tar-header-size--cmacro)
#@221 Access slot "size" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-size #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 6] 4 (#$ . 9098)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-size side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-date'.
(defalias 'tar-header-date--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-date (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 7)) nil] 7 (#$ . 9590)])
(put 'tar-header-date 'compiler-macro 'tar-header-date--cmacro)
#@221 Access slot "date" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-date #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 7] 4 (#$ . 10007)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-date side-effect-free t] 4)
#@52 compiler-macro for inlining `tar-header-checksum'.
(defalias 'tar-header-checksum--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-checksum (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 8)) nil] 7 (#$ . 10500)])
(put 'tar-header-checksum 'compiler-macro 'tar-header-checksum--cmacro)
#@225 Access slot "checksum" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-checksum #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 8] 4 (#$ . 10938)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-checksum side-effect-free t] 4)
#@53 compiler-macro for inlining `tar-header-link-type'.
(defalias 'tar-header-link-type--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-link-type (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 9)) nil] 7 (#$ . 11443)])
(put 'tar-header-link-type 'compiler-macro 'tar-header-link-type--cmacro)
#@226 Access slot "link-type" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-link-type #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 9] 4 (#$ . 11886)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-link-type side-effect-free t] 4)
#@53 compiler-macro for inlining `tar-header-link-name'.
(defalias 'tar-header-link-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-link-name (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 10)) nil] 7 (#$ . 12394)])
(put 'tar-header-link-name 'compiler-macro 'tar-header-link-name--cmacro)
#@226 Access slot "link-name" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-link-name #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 10] 4 (#$ . 12838)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-link-name side-effect-free t] 4)
#@49 compiler-macro for inlining `tar-header-magic'.
(defalias 'tar-header-magic--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-magic (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 11)) nil] 7 (#$ . 13347)])
(put 'tar-header-magic 'compiler-macro 'tar-header-magic--cmacro)
#@222 Access slot "magic" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-magic #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 11] 4 (#$ . 13771)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-magic side-effect-free t] 4)
#@49 compiler-macro for inlining `tar-header-uname'.
(defalias 'tar-header-uname--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-uname (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 12)) nil] 7 (#$ . 14268)])
(put 'tar-header-uname 'compiler-macro 'tar-header-uname--cmacro)
#@222 Access slot "uname" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-uname #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 12] 4 (#$ . 14692)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-uname side-effect-free t] 4)
#@49 compiler-macro for inlining `tar-header-gname'.
(defalias 'tar-header-gname--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-gname (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 13)) nil] 7 (#$ . 15189)])
(put 'tar-header-gname 'compiler-macro 'tar-header-gname--cmacro)
#@222 Access slot "gname" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-gname #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 13] 4 (#$ . 15613)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-gname side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-dmaj'.
(defalias 'tar-header-dmaj--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-dmaj (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 14)) nil] 7 (#$ . 16110)])
(put 'tar-header-dmaj 'compiler-macro 'tar-header-dmaj--cmacro)
#@221 Access slot "dmaj" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-dmaj #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 14] 4 (#$ . 16529)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-dmaj side-effect-free t] 4)
#@48 compiler-macro for inlining `tar-header-dmin'.
(defalias 'tar-header-dmin--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-dmin (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 15)) nil] 7 (#$ . 17023)])
(put 'tar-header-dmin 'compiler-macro 'tar-header-dmin--cmacro)
#@221 Access slot "dmin" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-dmin #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 15] 4 (#$ . 17442)])
(byte-code "\300\301\302\303#\300\207" [function-put tar-header-dmin side-effect-free t] 4)
#@56 compiler-macro for inlining `tar-header-header-start'.
(defalias 'tar-header-header-start--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tar-header-header-start (or (and (memq (aref cl-x 0) cl-struct-tar-header-tags)) (signal 'wrong-type-argument (list 'tar-header cl-x))) (aref cl-x 16)) nil] 7 (#$ . 17936)])
(put 'tar-header-header-start 'compiler-macro 'tar-header-header-start--cmacro)
#@229 Access slot "header-start" of `(tar-header (:constructor nil) (:type vector) :named (:constructor make-tar-header (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin)))' struct CL-X.
(defalias 'tar-header-header-start #[(cl-x) "\302H >\204 \303\304\305D\"\210\306H\207" [cl-x cl-struct-tar-header-tags 0 signal wrong-type-argument tar-header 16] 4 (#$ . 18395)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put tar-header-header-start side-effect-free t defalias copy-tar-header copy-sequence] 4)
#@48 compiler-macro for inlining `make-tar-header'.
(defalias 'make-tar-header--cmacro #[(_cl-whole-arg data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin) "\306\307\310\311\211\211 \n\f
\n\f
&\207" [data-start name mode uid gid size cl--defsubst-expand (data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin) (cl-block make-tar-header (vector 'tar-header data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin nil)) nil date checksum link-type link-name magic uname gname dmaj dmin] 21 (#$ . 18962)])
(put 'make-tar-header 'compiler-macro 'make-tar-header--cmacro)
#@47 Constructor for objects of type `tar-header'.
(defalias 'make-tar-header #[(data-start name mode uid gid size date checksum link-type link-name magic uname gname dmaj dmin) "\306\307 \n\f
\n\f
\310&\207" [data-start name mode uid gid size vector tar-header nil date checksum link-type link-name magic uname gname dmaj dmin] 18 (#$ . 19675)])
(byte-code "\300\301\302\303#\304\305\306\211\307\303\310\311\305\306& \207" [function-put make-tar-header side-effect-free t cl-struct-define tar-header nil vector ((cl-tag-slot) (data-start) (name) (mode) (uid) (gid) (size) (date) (checksum) (link-type) (link-name) (magic) (uname) (gname) (dmaj) (dmin) (header-start)) cl-struct-tar-header-tags] 11)
(defconst tar-name-offset 0)
(defconst tar-mode-offset (+ tar-name-offset 100))
(defconst tar-uid-offset (+ tar-mode-offset 8))
(defconst tar-gid-offset (+ tar-uid-offset 8))
(defconst tar-size-offset (+ tar-gid-offset 8))
(defconst tar-time-offset (+ tar-size-offset 12))
(defconst tar-chk-offset (+ tar-time-offset 12))
(defconst tar-linkp-offset (+ tar-chk-offset 8))
(defconst tar-link-offset (1+ tar-linkp-offset))
(defconst tar-magic-offset (+ tar-link-offset 100))
(defconst tar-uname-offset (+ tar-magic-offset 8))
(defconst tar-gname-offset (+ tar-uname-offset 32))
(defconst tar-dmaj-offset (+ tar-gname-offset 32))
(defconst tar-dmin-offset (+ tar-dmaj-offset 8))
(defconst tar-prefix-offset (+ tar-dmin-offset 8))
(defconst tar-end-offset (+ tar-prefix-offset 155))
#@41 Round S up to the next multiple of 512.
(defalias 'tar-roundup-512 #[(s) "\301\211\302\\\303\"\304\"\207" [s ash 511 -9 9] 4 (#$ . 21172)])
#@128 Return a `tar-header' structure.
This is a list of name, mode, uid, gid, size,
write-date, checksum, link-type, and link-name.
(defalias 'tar-header-block-tokenize #[(pos coding) "\306\\dV\203\f \307\310!\210\311eZ\306\"\312U\204 \313\314!\210 \203# \313\315!\210\211\306\\\211{\211\312H\312U\203< |