Function: ange-ftp-uncompress
ange-ftp-uncompress is a byte-compiled function defined in
ange-ftp.el.gz.
Signature
(ange-ftp-uncompress FILE NFILE)
Source Code
;; Defined in /usr/src/emacs/lisp/net/ange-ftp.el.gz
;; Copy FILE to this machine, uncompress it, and copy out to NFILE.
(defun ange-ftp-uncompress (file nfile)
(let* ((parsed (ange-ftp-ftp-name file))
(tmp1 (ange-ftp-make-tmp-name (car parsed)))
(tmp2 (ange-ftp-make-tmp-name (car parsed)))
(abbr (ange-ftp-abbreviate-filename file))
(nabbr (ange-ftp-abbreviate-filename nfile))
(msg1 (format "Getting %s" abbr))
(msg2 (format "Putting %s" nabbr))
;; ;; Cheap hack because of problems with binary file transfers from
;; ;; VMS hosts.
;; (gbinary (not (eq 'vms (ange-ftp-host-type (car parsed)))))
)
(unwind-protect
(progn
(ange-ftp-copy-file-internal file tmp1 t nil msg1)
(and ange-ftp-process-verbose
(ange-ftp-message "Uncompressing %s..." abbr))
(call-process-region (point)
(point)
shell-file-name
nil
t
nil
shell-command-switch
(format "uncompress -c < %s > %s" tmp1 tmp2))
(and ange-ftp-process-verbose
(ange-ftp-message "Uncompressing %s...done" abbr))
(if (zerop (buffer-size))
(progn
(let (ange-ftp-process-verbose)
(delete-file file))
(ange-ftp-copy-file-internal tmp2 nfile t nil msg2))))
(ange-ftp-del-tmp-name tmp1)
(ange-ftp-del-tmp-name tmp2))))