]> git.eshelyaron.com Git - emacs.git/commitdiff
(tar-header-block-summarize, tar-summarize-buffer, tar-get-descriptor): Handle
authorEli Zaretskii <eliz@gnu.org>
Wed, 23 May 2007 18:36:16 +0000 (18:36 +0000)
committerEli Zaretskii <eliz@gnu.org>
Wed, 23 May 2007 18:36:16 +0000 (18:36 +0000)
type 55, an extended pax header.

lisp/ChangeLog
lisp/tar-mode.el

index c6c30bd3918ad9b59cdbbef5dccb439c4f842508..8c6fb99178c76c22263b51af0059eaabf80c6f54 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * tar-mode.el (tar-header-block-summarize, tar-summarize-buffer)
+       (tar-get-descriptor): Handle type 55, an extended pax header.
+
 2007-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * autoinsert.el (auto-insert-alist): Quote elisp sample code so as not
index f5022a9fcd43e084b52301c2faf921522846814a..5d5f13776a2c6d441e7e80f6a2caf3e6255b22f1 100644 (file)
@@ -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))