Function: archive-lzh-rename-entry
archive-lzh-rename-entry is a byte-compiled function defined in
arc-mode.el.gz.
Signature
(archive-lzh-rename-entry NEWNAME DESCR)
Source Code
;; Defined in /usr/src/emacs/lisp/arc-mode.el.gz
(defun archive-lzh-rename-entry (newname descr)
(save-restriction
(save-excursion
(widen)
(let* ((p (+ archive-proper-file-start
(archive--file-desc-pos descr)))
(oldhsize (get-byte p))
(oldfnlen (get-byte (+ p 21)))
(newfnlen (length newname))
(newhsize (+ oldhsize newfnlen (- oldfnlen)))
(inhibit-read-only t))
(if (> newhsize 255)
(error "The file name is too long"))
(goto-char (+ p 21))
(delete-char (1+ oldfnlen))
(arc-insert-unibyte newfnlen newname)
(goto-char p)
(delete-char 2)
(arc-insert-unibyte newhsize (archive-lzh-resum p newhsize))))))