comparison lisp/tar-mode.el @ 24873:2033936f1aa7

(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.
author Karl Heuer <kwzh@gnu.org>
date Sun, 20 Jun 1999 19:35:07 +0000
parents d30ffa793626
children d8c646ec07fa
comparison
equal deleted inserted replaced
24872:9db8a7ed814e 24873:2033936f1aa7
263 (decode-coding-string linkname (or file-name-coding-system 263 (decode-coding-string linkname (or file-name-coding-system
264 'undecided)))) 264 'undecided))))
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
284 284
285 (defun tar-parse-octal-integer (string &optional start end) 285 (defun tar-parse-octal-integer (string &optional start end)