On Thursday 28 February 2002 10:00 pm, David L Norris wrote:
I forgot to ask Klaus-Peter Schulze the obvious question: are you sure you
are using the correct version? As I seem to remember that it was WinME and
Win98SE that had the problems and Win98, Win NT, and Win2K worked.
> > David, I know where the \ is coming from, but I'm not clear which of the
> > Win32 calls is causing the problem past that point.
> All functions dealing with directory names are broken in various ways;
> even (especially) the native/proprietary ones. It's not so much that
> appending a '\' breaks it. It's that appending a '\' breaks one
> function and failing to append a '\' breaks another function.
It's really a pain.
It would be nice to use the correct path separator for the running OS. But
windows uses the back slash which is uses as an escape character. That makes
entering path names ugly, and using path names in regular expressins really
ugly since you need an extra set (level) of backslashes due to the escaping
done by swish and by the regular expression library.
It's also ugly to end up with paths that have slashes both ways. When
recursing through the directory tree swish has to stick a path separator
between names. Currently it uses \ for windows and / for everthing else.
But there's no check to see what people used in their IndexDir or -i setting
so you end up with paths like /home/manual\hardware\video\driver.txt. It
would be nice to clean those up.
Still, filters pass the path name, so the filters will probably expect (or
need) path names with correct path separators.
And also, Windows users would probably like search results to show to correct
Dave, are there any system calls (other than popen() ) that require the back
slash, or will they all work either way? (Or is that something that's fixed
up in dirent.c?)
Maybe it would be smart to use the forward slash everywhere internally. Then
convert the slash when running a filter or generating output.
Does that make sense to the Windows users?
What happenes with VMS?
> stat() is causing the most obvious errors, though. stat() fails on a
> directory name with a trailing '\' or '/'.
And it that dependent on the *version* of Windows, too?
Received on Fri Mar 1 15:11:25 2002