aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2010-09-27 14:00:46 +0900
committerKenichi Handa2010-09-27 14:00:46 +0900
commitfd057fd25e400a18cc83ba17ce487c760a78f18d (patch)
tree1bb08ffcd906c056c4a0328e1900b3b9dfcb5311
parent368b3544429556ff4c536b8f1d7d896f4a8e1787 (diff)
downloademacs-fd057fd25e400a18cc83ba17ce487c760a78f18d.tar.gz
emacs-fd057fd25e400a18cc83ba17ce487c760a78f18d.zip
tar-mode.el (tar-header-block-tokenize): Decode filenames in "ustar" format.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/tar-mode.el3
2 files changed, 7 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index ce0236e34d7..0bbc1648dec 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,10 @@
12010-09-27 Kenichi Handa <handa@m17n.org> 12010-09-27 Kenichi Handa <handa@m17n.org>
2 2
3 * tar-mode.el (tar-header-block-tokenize): Decode filenames in
4 "ustar" format.
5
62010-09-27 Kenichi Handa <handa@m17n.org>
7
3 * international/mule.el (define-coding-system): Docstring fixed. 8 * international/mule.el (define-coding-system): Docstring fixed.
4 9
5 * international/mule-diag.el (describe-character-set): Use princ 10 * international/mule-diag.el (describe-character-set): Use princ
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index be9af8e293d..a3f717ff40c 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -286,7 +286,8 @@ write-date, checksum, link-type, and link-name."
286 (let* ((size (tar-parse-octal-integer 286 (let* ((size (tar-parse-octal-integer
287 string tar-size-offset tar-time-offset)) 287 string tar-size-offset tar-time-offset))
288 ;; -1 so as to strip the terminating 0 byte. 288 ;; -1 so as to strip the terminating 0 byte.
289 (name (buffer-substring pos (+ pos size -1))) 289 (name (decode-coding-string
290 (buffer-substring pos (+ pos size -1)) coding))
290 (descriptor (tar-header-block-tokenize 291 (descriptor (tar-header-block-tokenize
291 (+ pos (tar-roundup-512 size)) 292 (+ pos (tar-roundup-512 size))
292 coding))) 293 coding)))