[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TCP bug



We have been experiencing problems with our CHAOS hardware and as a
result have started using IP-TCP to access our TOPS-20 host.   A problem
appears when doing a (make-system 'foo).   I get thrown into the
debugger with a complaint about "Version not numeric".   I tracked the
problem down to the following function in file
mcc:<symbolics.rel6.ip-tcp>tcp-ftp.lisp:

(defun tcp-ftp-parse-truename (string pathname)
  (let ((fs:*inhibit-validity-checking* t))
    (fs:merge-pathnames (fs:parse-pathname string (send pathname :host)) pathname)))

The string argument in was a TOPS-20 pathname without a host (ie.
<symbolics.site>foo.system.1).   The pathname argument was a logical
pathname object (ie. SYS: Site; foo lisp newest).   Merge pathnames
couldn't correctly parse the real pathname as a logical pathname.   It
decided to parse it as a logical pathname due to the type of the host it
was passed.

Here is what I did to make it work:

(defun tcp-ftp-parse-truename (string pathname)
  (let ((fs:*inhibit-validity-checking* t))
    (fs:merge-pathnames (fs:parse-pathname string (send (send pathname :translated-pathname) :host)) pathname)))
							            

Is this the right fix?

Mac Michaels