seg@segpc.UUCP (Scott E. Garfinkle) (12/17/90)
Like the title says. Doing an opendir/readir to loop through a directory doesn't get all the entries. This is a problem in libc.a and also libc_s.a. You will discover, for example, that the shells can't find run yacc, even though 'ls -l /usr/bin/yacc' works. I have reported this to Esix, but I get the impression that it's going to be a low-priority to fix. Anyway, workarounds are either to give up long file names or to replace the entries in libc.a with the (better) PD versions of these functions. If you do that, get the Gnu binutils, etc., so that ls, etc., work. As for csh, it will work properly (more or less) if you issue the 'unhash' statement in your .cshrc so that csh explicitly tries every possible directory for your executables. (Or you can use another shell.) -Scott Garfinkle