At Sun, 24 Feb 2002 21:50:47 -0800 (PST), David L Norris
> On Sun, 2002-02-24 at 13:23, K. Harkins wrote:
> > clearly there seems to be a problem in how swish-e parses VMS paths ....
> > however is this known, and is there a workaround?
> Well, I have no clue about VMS specifically. This may not even be
> related. But, SWISH-E does have problems with directory name parsing on
> Windows. Some problems are ultimately caused by SWISH-E trying to "fix"
> directory names. And some are just plain bugs with the OS. Bill and I
> have recently discussed the problems on the developer list. But, we've
> not really come up with any magic solutions. I do think we've
> identified some places where we can make improvements in SWISH-E's
> directory and file name parsing.
> Bottom line, I think, is that Unix is pretty darn forgiving when it
> comes to directory seperators. ;-)
> Details on Win32:
> Windows has broken/inconsistent directory and file I/O functions;
> particularly POSIX/Xenix compatibility functions. stat() is just one
> example. Some functions in the Win32 API either require or forbid a
> trailing directory seperator ('\\' or '/') depending on the semantics of
> the situation. For example, with one function, a network directory
> (\\HOST\SHARE) might require a trailing slash while a local directory
> (DISK:SOMEDIR) might forbid it. Another function might work exactly
> backwards from this. There is no obvious consistency to which sets of
> functions behave in which ways. I assume this is an artifact of
> hundreds of disconnected programmers merging various APIs and codebases
> (DOS, OS/2, Xenix) into one "contiguous" Win32 API over years. There
> are probably special little "hacks" in each function which account for
> the odd inconsistencies. They make writing a portable program a pain,
thanks, FYI, VMS has a few gotchas with how it treats directories ...
I have occasionally ran into
situations where my only solution was to recursively remove all
logical roots from the directory
spec (until I had the 'real' path) and then use that (unfortunately,
that is not a guarantee of it
working in swish-e, as I found in my testing yesterday)
Received on Mon Feb 25 09:43:50 2002