>
> > Example: I have a file FOO.TXT on the file system and select it with
> > <fileset includes="foo.txt"/>. It will get selected because
> >
> > new File("foo.txt").getCanonicalPath()
> >
> > returns "foo.txt" instead of "FOO.TXT".
>
> This is bad, in particular as it won't get selected for
> includes="fo?.txt", so we have an inconsistency in the case-sensitive
> case, no matter what we use as a default value for OpenVMS.
>
I didn't even think about that. But with case sensitivity disabled the file
will be selected by "fo?.txt".
The only way to access the case of a file from Java on OpenVMS is currently
to use File#listFiles().
> The only solution I see is to change line 718 in DirectoryScanner to
> read
>
> if (!path.equals(currentelement)
> || Os.isFamily("openvms")) {
>
Looks reasonable. BTW, would it be reasonable to add constants like ON_VMS
to Os? In this case the Os.isFamily("openvms") would be run quite a few
times... Or the Os class could of course also cache results.
> or force OpenVMS to take the first branch in line 690, that should
> take care of this issue.
>
Don't quite understand what that would do :-)
--
knut