Function: archive-zip-chmod-entry
archive-zip-chmod-entry is a byte-compiled function defined in
arc-mode.el.gz.
Signature
(archive-zip-chmod-entry NEWMODE FILES)
Source Code
;; Defined in /usr/src/emacs/lisp/arc-mode.el.gz
(defun archive-zip-chmod-entry (newmode files)
(save-restriction
(save-excursion
(widen)
(dolist (fil files)
(let* ((p (+ archive-proper-file-start
(archive--file-desc-pos fil)))
(creator (get-byte (+ p 5)))
(oldmode (archive--file-desc-mode fil))
(newval (archive-calc-mode oldmode newmode))
(inhibit-read-only t))
(cond ((memq creator '(2 3)) ; Unix
(goto-char (+ p 40))
(delete-char 2)
(arc-insert-unibyte (logand newval 255) (ash newval -8)))
((memq creator '(0 5 6 7 10 11 15)) ; Dos etc.
(goto-char (+ p 38))
(arc-insert-unibyte
(logior (logand (get-byte (point)) 254)
(logand (logxor 1 (ash newval -7)) 1)))
(delete-char 1))
(t (message "Don't know how to change mode for this member"))))
))))