Skip to main content.
home | support | download

Back to List Archive

Re: indexing a whole drive using swish-e 2.4.2 on windows

From: David L Norris <dave(at)not-real.webaugur.com>
Date: Wed Nov 10 2004 - 09:22:49 GMT
On Wed, 2004-11-10 at 08:41 +0100, Sascha Herpers wrote:
> > [...stuff about physical drives UNIX and so on...]
> I understand...and it sound reasonable, but...you know, I don't want to 
> run around screaming "bug!", but it is really a little odd. Even 'c:/./' 
> works

Yes, definitely a bug.  It seems like this has been fixed before.  I'll
try to fix it before 2.4.3.  I know that I've seen this same issue
before.

For now, c:/./ is a good workaround.  stat() isn't very predictable on
Windows.  I suspect the problem is that c:/ doesn't pass the stat() "is
a directory" test.  But I don't have a Windows system available to test
at the moment.

Microsoft's own dirent.c code hints at what might be wrong; it is a maze
of if-else workarounds for the broken stat() function on Windows.
stat() says that c:\ is not a directory but c:\. is a directory.  stat()
says that c:\directory is a directory but c:\directory\ is not only not
a directory but doesn't exist at all.

-- 
 David Norris
  http://www.webaugur.com/dave/
  ICQ - 412039
Received on Wed Nov 10 01:22:57 2004