Function: ange-ftp-vms-add-file-entry

ange-ftp-vms-add-file-entry is a byte-compiled function defined in ange-ftp.el.gz.

Signature

(ange-ftp-vms-add-file-entry NAME &optional DIR-P)

Source Code

;; Defined in /usr/src/emacs/lisp/net/ange-ftp.el.gz
(defun ange-ftp-vms-add-file-entry (name &optional dir-p)
  (if dir-p
      (ange-ftp-internal-add-file-entry name t)
    (let ((files (gethash (file-name-directory name)
			  ange-ftp-files-hashtable)))
      (if files
	  (let ((file (ange-ftp-get-file-part name)))
	    (save-match-data
	      (if (string-match ";[0-9]+\\'" file)
		  (puthash (substring file 0 (match-beginning 0)) nil files)
		;; Need to figure out what version of the file
		;; is being added.
		(let ((regexp (concat "^"
				      (regexp-quote file)
				      ";\\([0-9]+\\)$"))
		      (version 0))
		  (maphash
		   (lambda (name _val)
		     (and (string-match regexp name)
			  (setq version
				(max version
				     (string-to-number (match-string 1 name))))))
		   files)
		  (setq version (1+ version))
		  (puthash
		   (concat file ";" (int-to-string version))
		   nil files))))
	    (puthash file nil files))))))