aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Heuer1999-06-20 19:35:07 +0000
committerKarl Heuer1999-06-20 19:35:07 +0000
commit248d750a01bfa80d4e3fb073f030745587217a87 (patch)
tree94475407f52b32e7852bd03b29b4e7421149bc9d
parent2a6b2356284ea5efac6d092c51ff3fe7e0e657c8 (diff)
downloademacs-248d750a01bfa80d4e3fb073f030745587217a87.tar.gz
emacs-248d750a01bfa80d4e3fb073f030745587217a87.zip
(tar-header-block-tokenize): Don't assume that the last byte
of a numeric field is a space or a NUL. Parse it as potentially part of the number. This is used by GNU tar 1.12.64012 to handle larger values.
-rw-r--r--lisp/tar-mode.el16
1 files changed, 8 insertions, 8 deletions
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index bfba9b40233..e45b36bb064 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -265,19 +265,19 @@ write-date, checksum, link-type, and link-name."
265 (if (and (null link-p) (string-match "/$" name)) (setq link-p 5)) ; directory 265 (if (and (null link-p) (string-match "/$" name)) (setq link-p 5)) ; directory
266 (make-tar-header 266 (make-tar-header
267 name 267 name
268 (tar-parse-octal-integer string tar-mode-offset (1- tar-uid-offset)) 268 (tar-parse-octal-integer string tar-mode-offset tar-uid-offset)
269 (tar-parse-octal-integer string tar-uid-offset (1- tar-gid-offset)) 269 (tar-parse-octal-integer string tar-uid-offset tar-gid-offset)
270 (tar-parse-octal-integer string tar-gid-offset (1- tar-size-offset)) 270 (tar-parse-octal-integer string tar-gid-offset tar-size-offset)
271 (tar-parse-octal-integer string tar-size-offset (1- tar-time-offset)) 271 (tar-parse-octal-integer string tar-size-offset tar-time-offset)
272 (tar-parse-octal-long-integer string tar-time-offset (1- tar-chk-offset)) 272 (tar-parse-octal-long-integer string tar-time-offset tar-chk-offset)
273 (tar-parse-octal-integer string tar-chk-offset (1- tar-linkp-offset)) 273 (tar-parse-octal-integer string tar-chk-offset tar-linkp-offset)
274 link-p 274 link-p
275 linkname 275 linkname
276 uname-valid-p 276 uname-valid-p
277 (and uname-valid-p (substring string tar-uname-offset uname-end)) 277 (and uname-valid-p (substring string tar-uname-offset uname-end))
278 (and uname-valid-p (substring string tar-gname-offset gname-end)) 278 (and uname-valid-p (substring string tar-gname-offset gname-end))
279 (tar-parse-octal-integer string tar-dmaj-offset (1- tar-dmin-offset)) 279 (tar-parse-octal-integer string tar-dmaj-offset tar-dmin-offset)
280 (tar-parse-octal-integer string tar-dmin-offset (1- tar-end-offset)) 280 (tar-parse-octal-integer string tar-dmin-offset tar-end-offset)
281 ))) 281 )))
282 (t 'empty-tar-block))) 282 (t 'empty-tar-block)))
283 283