Function: ange-ftp-call-chmod

ange-ftp-call-chmod is a byte-compiled function defined in ange-ftp.el.gz.

Signature

(ange-ftp-call-chmod ARGS)

Source Code

;; Defined in /usr/src/emacs/lisp/net/ange-ftp.el.gz
;; Handle an attempt to run chmod on a remote file
;; by using the ftp chmod command.
(defun ange-ftp-call-chmod (args)
  (if (< (length args) 2)
      (error "ange-ftp-call-chmod: Missing mode and/or filename: %s" args))
  (let ((mode (car args))
	(rest (cdr args)))
    (if (equal "--" (car rest))
	(setq rest (cdr rest)))
    (mapc
     (lambda (file)
       (setq file (expand-file-name file))
       (let ((parsed (ange-ftp-ftp-name file)))
         (if parsed
             (let* ((host (nth 0 parsed))
                    (user (nth 1 parsed))
                    (name (ange-ftp-quote-string (nth 2 parsed)))
                    (abbr (ange-ftp-abbreviate-filename file))
                    (result (ange-ftp-send-cmd host user
                                               (list 'chmod mode name)
                                               (format "doing chmod %s"
                                                       abbr))))
               (or (car result)
		   (ange-ftp-error
		    host user (concat "CHMOD failed: " (cdr result))))))))
     rest))
  (setq ange-ftp-ls-cache-file nil)	;Stop confusing Dired.
  0)