aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2007-06-06 17:04:29 +0000
committerChong Yidong <[email protected]>2007-06-06 17:04:29 +0000
commit2bff30c48c82f7be1f08e9c60894a8517504b311 (patch)
treeb8739a8158d268ca06ccb13eea660835a206f057
parentbdddbdd8759ee097524bdd266700d9f3acfb95d8 (diff)
(tar-header-block-summarize, tar-summarize-buffer)
(tar-get-descriptor): Handle type 55, an extended pax header.
-rw-r--r--lisp/tar-mode.el20
1 files changed, 11 insertions, 9 deletions
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index 31854e6040..f222c23fbf 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,14 +658,15 @@ 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")
- (t "link"))))
+ (error "This is %s, not a real file"
+ (cond ((eq link-p 5) "a directory")
+ ((eq link-p 20) "a tar directory header")
+ ((eq link-p 28) "a next has longname")
+ ((eq link-p 29) "a multivolume-continuation")
+ ((eq link-p 35) "a sparse entry")
+ ((eq link-p 38) "a volume header")
+ ((eq link-p 55) "an extended pax header")
+ (t "a link"))))
(if (zerop size) (error "This is a zero-length file"))
descriptor))