Function: ange-ftp-file-attributes
ange-ftp-file-attributes is a byte-compiled function defined in
ange-ftp.el.gz.
Signature
(ange-ftp-file-attributes FILE &optional ID-FORMAT)
Source Code
;; Defined in /usr/src/emacs/lisp/net/ange-ftp.el.gz
(defun ange-ftp-file-attributes (file &optional id-format)
(setq file (expand-file-name file))
(let ((parsed (ange-ftp-ftp-name file)))
(if parsed
(let ((part (ange-ftp-get-file-part file))
(files (ange-ftp-get-files (file-name-directory file))))
(if (ange-ftp-hash-entry-exists-p part files)
(let (;; (host (nth 0 parsed))
;; (user (nth 1 parsed))
;; (name (nth 2 parsed))
(dirp (gethash part files))
(inode (gethash file ange-ftp-inodes-hashtable)))
(unless inode
(setq inode ange-ftp-next-inode-number
ange-ftp-next-inode-number (1+ inode))
(puthash file inode ange-ftp-inodes-hashtable))
(list (if (and (stringp dirp) (file-name-absolute-p dirp))
(ange-ftp-expand-symlink dirp
(file-name-directory file))
dirp) ;0 file type
-1 ;1 link count
(if (eq id-format 'string)
"nobody" -1) ;2 uid
(if (eq id-format 'string)
"nobody" -1) ;3 gid
'(0 0) ;4 atime
(ange-ftp-file-modtime file) ;5 mtime
'(0 0) ;6 ctime
(ange-ftp-file-size file) ;7 size
(concat (if (stringp dirp) "l" (if dirp "d" "-"))
"?????????") ;8 mode
nil ;9 gid weird
inode ;10 "inode number".
-1 ;11 device number [v19 only]
))))
(if id-format
(ange-ftp-real-file-attributes file id-format)
(ange-ftp-real-file-attributes file)))))