Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!mailrus!tut.cis.ohio-state.edu!ucbvax!XEROX.COM!shih.envos From: shih.envos@XEROX.COM Newsgroups: comp.sys.xerox Subject: Re: File Directory Problem Message-ID: <890517-144111-17872@Xerox> Date: 17 May 89 21:44:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 35 I'm assuming you were using TCPFTP on the 1186 to copy files from your Sun to your 1186? If so, you're probably getting bitten by the following (at least this is what I think is going on): The Unix FTP program (and most Unix utilities, actually), declares fixed string buffers to hold the argument line, internal strings, etc. When the shell (or other program) expands * to be the a very large directory, that string can exceed the size of the buffer. In C programs, that simply overwrites other storage space, quietly. What I think is happening is, FTP ends up returning a truncated, possibly illegal (non-null-terminated) string of filenames. The problem is consequently not in the number of files, but in the total length of the names. When you use *, the relative pathname length of course depends on your specification. (e.g. foodir/* is different than being in foodir and using *). Anyway, this problem in FTP suffices to confuse code further upstream. I recall tracking this down once, there is probably an AR on this somewhere, but its a Unix problem, not Lisp's. I recall you can demonstrate this by using FTP to attempt to copy that directory from one Sun to another. The workaround would be to copy the files in two passes. p.s. That's one of the reasons that Medley-Sun's distribution has multiple directories for the fonts. -Frank Shih -(ex)Envos Dev. Mgr., and one-time TCP hacker