[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r109582: * tar-mode.el (tar-header-da
From: |
Andreas Schwab |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r109582: * tar-mode.el (tar-header-data-end): Only ignore size for files of |
Date: |
Mon, 13 Aug 2012 12:34:25 +0200 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 109582
committer: Andreas Schwab <address@hidden>
branch nick: emacs
timestamp: Mon 2012-08-13 12:34:25 +0200
message:
* tar-mode.el (tar-header-data-end): Only ignore size for files of
type 1-6.
(tar-header-block-summarize, tar-get-descriptor): Handle pax
extended headers.
modified:
lisp/ChangeLog
lisp/tar-mode.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2012-08-13 07:37:05 +0000
+++ b/lisp/ChangeLog 2012-08-13 10:34:25 +0000
@@ -1,5 +1,10 @@
2012-08-13 Andreas Schwab <address@hidden>
+ * tar-mode.el (tar-header-data-end): Only ignore size for files of
+ type 1-6.
+ (tar-header-block-summarize, tar-get-descriptor): Handle pax
+ extended headers.
+
* files.el (hack-local-variables-filter): Remove useless eval.
2012-08-13 Martin Rudalics <address@hidden>
=== modified file 'lisp/tar-mode.el'
--- a/lisp/tar-mode.el 2012-07-11 23:13:41 +0000
+++ b/lisp/tar-mode.el 2012-08-13 10:34:25 +0000
@@ -325,13 +325,10 @@
(defun tar-header-data-end (descriptor)
(let* ((data-start (tar-header-data-start descriptor))
(link-type (tar-header-link-type descriptor))
- (size (tar-header-size descriptor))
- (fudge (cond
- ;; Foo. There's an extra empty block after these.
- ((memq link-type '(20 55)) 512)
- (t 0))))
- (+ data-start fudge
- (if (and (null link-type) (> size 0))
+ (size (tar-header-size descriptor)))
+ (+ data-start
+ ;; Ignore size for files of type 1-6
+ (if (and (not (memq link-type '(1 2 3 4 5 6))) (> size 0))
(tar-roundup-512 size)
0))))
@@ -445,7 +442,8 @@
((eq type 29) ?M) ; multivolume continuation
((eq type 35) ?S) ; sparse
((eq type 38) ?V) ; volume header
- ((eq type 55) ?H) ; extended pax header
+ ((eq type 55) ?H) ; pax global extended header
+ ((eq type 72) ?X) ; pax extended header
(t ?\s)
)
(tar-grind-file-mode mode)
@@ -751,7 +749,8 @@
((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")
+ ((eq link-p 55) "a pax global extended header")
+ ((eq link-p 72) "a pax extended header")
(t "a link"))))
(if (zerop size) (message "This is a zero-length file"))
descriptor))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r109582: * tar-mode.el (tar-header-data-end): Only ignore size for files of,
Andreas Schwab <=