aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Schwab1997-11-10 12:37:34 +0000
committerAndreas Schwab1997-11-10 12:37:34 +0000
commit9913653ae64fb7c178c5ab1ee477fb6b6a62399d (patch)
treefe7ab308b0ec214fedc341676c99f9c8811a8f67
parentaf559a4e281a37d2accf2be5e1dce8e3e8db214f (diff)
downloademacs-9913653ae64fb7c178c5ab1ee477fb6b6a62399d.tar.gz
emacs-9913653ae64fb7c178c5ab1ee477fb6b6a62399d.zip
(archive-zoo-summarize): Properly handle the case of
a short file name with a non-empty directory part.
-rw-r--r--lisp/arc-mode.el7
1 files changed, 2 insertions, 5 deletions
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 767093ef51d..0936e1f40db 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -1526,10 +1526,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
1526 (dirtype (char-after (+ p 4))) 1526 (dirtype (char-after (+ p 4)))
1527 (lfnlen (if (= dirtype 2) (char-after (+ p 56)) 0)) 1527 (lfnlen (if (= dirtype 2) (char-after (+ p 56)) 0))
1528 (ldirlen (if (= dirtype 2) (char-after (+ p 57)) 0)) 1528 (ldirlen (if (= dirtype 2) (char-after (+ p 57)) 0))
1529 (fnlen (+ ldirlen 1529 (fnlen (or (string-match "\0" namefld) 13))
1530 (if (> lfnlen 0)
1531 (1- lfnlen)
1532 (or (string-match "\0" namefld) 13))))
1533 (efnname (concat 1530 (efnname (concat
1534 (if (> ldirlen 0) 1531 (if (> ldirlen 0)
1535 (concat (buffer-substring 1532 (concat (buffer-substring
@@ -1546,7 +1543,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
1546 (archive-dosdate moddate) 1543 (archive-dosdate moddate)
1547 (archive-dostime modtime) 1544 (archive-dostime modtime)
1548 ifnname))) 1545 ifnname)))
1549 (setq maxlen (max maxlen fnlen) 1546 (setq maxlen (max maxlen (length ifnname))
1550 totalsize (+ totalsize ucsize) 1547 totalsize (+ totalsize ucsize)
1551 visual (cons (vector text 1548 visual (cons (vector text
1552 (- (length text) (length ifnname)) 1549 (- (length text) (length ifnname))