Sanitize ls switches in ange-ftp (bug#53360)

* lisp/net/ange-ftp.el (ls-lisp--sanitize-switches): Declare.
(ange-ftp-ls): Sanitize LSARGS.  (Bug#53360)
This commit is contained in:
Michael Albinus 2022-02-07 10:07:15 +01:00
parent 985e7148a7
commit dfda7d1463

View file

@ -2547,13 +2547,16 @@ can parse the output from a DIR listing for a host of type TYPE.")
(defvar ange-ftp-after-parse-ls-hook nil
"Normal hook run after parsing the text of an FTP directory listing.")
(declare-function ls-lisp--sanitize-switches "ls-lisp" (switches))
(defun ange-ftp-ls (file lsargs parse &optional no-error wildcard)
"Return the output of a `DIR' or `ls' command done over FTP.
FILE is the full name of the remote file, LSARGS is any args to pass to the
`ls' command, and PARSE specifies that the output should be parsed and stored
away in the internal cache."
(while (string-match "^--dired\\s-+" lsargs)
(setq lsargs (replace-match "" nil t lsargs)))
(when (string-match "--" lsargs)
(require 'ls-lisp)
(setq lsargs (ls-lisp--sanitize-switches lsargs)))
;; If parse is t, we assume that file is a directory. i.e. we only parse
;; full directory listings.
(let* ((ange-ftp-this-file (ange-ftp-expand-file-name file))