;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:10; Patch-File:T -*-
;;; Patch file for System version 123.213
;;; Reason:
;;;  FTP-ACCESS needs to parse directory list lines relative to :translated-pathname.
;;;  Previously, parsing against a logical pathname gave :truename a bad directory.
;;; Written 8-Mar-88 16:33:57 by pld at site Gigamos Cambridge
;;; while running on Jack Flanders from band 2
;;; with Experimental System 123.212, Experimental Local-File 73.3, Experimental FILE-Server 22.1, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, Experimental Tape 21.1, microcode 1755, SDU Boot Tape 3.12, SDU ROM 8.


; From modified file DJ: L.NETWORK.IP-TCP.USER; FTP-ACCESS.LISP#42 at 8-Mar-88 16:51:59
#10R FILE-SYSTEM#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "FILE-SYSTEM")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; IP-TCP; USER; FTP-ACCESS  "

(defun ftp-parse-directory-list-line (line host pathname)
  (let ((parser (ftp-directory-line-parserp host t))
	(trimmed-line (string-right-trim '(#\return) line)))
    (if parser
	(let ((p (funcall parser trimmed-line host (send pathname :translated-pathname))))
	  (if (null (car p))
	      p
	    (append `(,pathname :truename) p)))
      (let ((p (parse-pathname trimmed-line host)))
	(list p :pathname p)))))

))
