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))))))