aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2003-05-23 12:45:49 +0000
committerRichard M. Stallman2003-05-23 12:45:49 +0000
commita28fe04bbd2585275fa0b2b5961f5de47304d36d (patch)
treecfcf2f6cc284e25efeb439349eec1f6a94d79700
parentd547e25f451cc3658cff147bcc0f0508322b6022 (diff)
downloademacs-a28fe04bbd2585275fa0b2b5961f5de47304d36d.tar.gz
emacs-a28fe04bbd2585275fa0b2b5961f5de47304d36d.zip
(archive-lzh-summarize): Calculate correct total
header size for LZH level 1 header.
-rw-r--r--lisp/arc-mode.el11
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 5b6e14d58db..563b71f940e 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -1416,7 +1416,8 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
1416 (while (progn (goto-char p) ;beginning of a base header. 1416 (while (progn (goto-char p) ;beginning of a base header.
1417 (looking-at "\\(.\\|\n\\)\\(.\\|\n\\)-l[hz][0-9ds]-")) 1417 (looking-at "\\(.\\|\n\\)\\(.\\|\n\\)-l[hz][0-9ds]-"))
1418 (let* ((hsize (char-after p)) ;size of the base header (level 0 and 1) 1418 (let* ((hsize (char-after p)) ;size of the base header (level 0 and 1)
1419 (csize (archive-l-e (+ p 7) 4)) ;size of a compressed file to follow. 1419 (csize (archive-l-e (+ p 7) 4)) ;size of a compressed file to follow (level 0 and 2),
1420 ;size of extended headers + the compressed file to follow (level 1).
1420 (ucsize (archive-l-e (+ p 11) 4)) ;size of an uncompressed file. 1421 (ucsize (archive-l-e (+ p 11) 4)) ;size of an uncompressed file.
1421 (time1 (archive-l-e (+ p 15) 2)) ;date/time (MSDOS format in level 0, 1 headers 1422 (time1 (archive-l-e (+ p 15) 2)) ;date/time (MSDOS format in level 0, 1 headers
1422 (time2 (archive-l-e (+ p 17) 2)) ;and UNIX format in level 2 header.) 1423 (time2 (archive-l-e (+ p 17) 2)) ;and UNIX format in level 2 header.)
@@ -1515,8 +1516,12 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
1515 (length text)) 1516 (length text))
1516 visual) 1517 visual)
1517 files (cons (vector prname ifnname fiddle mode (1- p)) 1518 files (cons (vector prname ifnname fiddle mode (1- p))
1518 files) 1519 files))
1519 p (+ p thsize 2 csize)))) 1520 (cond ((= hdrlvl 1)
1521 (setq p (+ p hsize 2 csize)))
1522 ((or (= hdrlvl 2) (= hdrlvl 0))
1523 (setq p (+ p thsize 2 csize))))
1524 ))
1520 (goto-char (point-min)) 1525 (goto-char (point-min))
1521 (set-buffer-multibyte default-enable-multibyte-characters) 1526 (set-buffer-multibyte default-enable-multibyte-characters)
1522 (let ((dash (concat (if archive-alternate-display 1527 (let ((dash (concat (if archive-alternate-display