diff options
author | Eli Zaretskii <eliz@gnu.org> | 2007-05-23 18:36:16 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2007-05-23 18:36:16 +0000 |
commit | 133ecc548e3c1318a1011bcec2cd11ecf32c00fa (patch) | |
tree | d54e7ee7f8a971fb9527ae06462a5de4cfbf8a31 /lisp/tar-mode.el | |
parent | 31b6b8cde68588dc176d20f039f9cba00c79feba (diff) | |
download | emacs-133ecc548e3c1318a1011bcec2cd11ecf32c00fa.tar.gz |
(tar-header-block-summarize, tar-summarize-buffer, tar-get-descriptor): Handle
type 55, an extended pax header.
Diffstat (limited to 'lisp/tar-mode.el')
-rw-r--r-- | lisp/tar-mode.el | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index f5022a9fcd4..5d5f13776a2 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el @@ -363,6 +363,7 @@ MODE should be an integer which is a file mode value." ((eq type 29) ?M) ; multivolume continuation ((eq type 35) ?S) ; sparse ((eq type 38) ?V) ; volume header + ((eq type 55) ?H) ; extended pax header (t ?\s) ) (tar-grind-file-mode mode) @@ -421,7 +422,7 @@ is visible (and the real data of the buffer is hidden)." (buffer-substring pos (+ pos 512))))))) (setq pos (+ pos 512)) (progress-reporter-update progress-reporter pos) - (if (eq (tar-header-link-type tokens) 20) + (if (memq (tar-header-link-type tokens) '(20 55)) ;; Foo. There's an extra empty block after these. (setq pos (+ pos 512))) (let ((size (tar-header-size tokens))) @@ -657,13 +658,14 @@ appear on disk when you save the tar-file's buffer." (size (tar-header-size tokens)) (link-p (tar-header-link-type tokens))) (if link-p - (error "This is a %s, not a real file" - (cond ((eq link-p 5) "directory") - ((eq link-p 20) "tar directory header") - ((eq link-p 28) "next has longname") - ((eq link-p 29) "multivolume-continuation") - ((eq link-p 35) "sparse entry") - ((eq link-p 38) "volume header") + (error "This is a%s, not a real file" + (cond ((eq link-p 5) " directory") + ((eq link-p 20) " tar directory header") + ((eq link-p 28) " next has longname") + ((eq link-p 29) " multivolume-continuation") + ((eq link-p 35) " sparse entry") + ((eq link-p 38) " volume header") + ((eq link-p 55) "n extended pax header") (t "link")))) (if (zerop size) (error "This is a zero-length file")) descriptor)) |