Apologies for not being a subscriber to the list. My bad. I will subscribe
shortly, but I want to get this one out for comment.
In 2.49, the t/inode_names test failed on OpenBSD/i386 (3.2-current). After
quite a bit of head scratching, I >think< I know what the problem is;
The test of the stat elements [0] and [1] (in sub FileId() around line
540 -below) is redundent and will always fail where an OS may return '0' for
either value - in this case I think that 'dev' is '0' for the root
filesystem on OpenBSD:
my @inode_stat = ();
if($self->{inode_names}) {
print STDERR "\ninode_names is SET\n";
@inode_stat = stat($file);
unless($inode_stat[0] && $inode_stat[1]) {
@inode_stat = ();
}
}
perl's stat() returns and empty array if the stat fails, so the above code
can be reduced to:
my @inode_stat = ();
if($self->{inode_names}) {
print STDERR "\ninode_names is SET\n";
@inode_stat = stat($file);
}
And it now works for me and passes all tests.
Obviously, this could just be me misunderstanding what this is meant to do,
and I am happy to be enlightened.
rgds,
--
Peter Galbavy
Knowtion Ltd.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]