X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FLib.pm;h=011e394b17a49c8af6a0bce51d49e6c9bb6d9c68;hp=3a8cf184f08484054b91fa260c3f2d1bd8fb3387;hb=2726b96b1a7026dc3f82250afbfe5ae27ab1c75f;hpb=197383fe39b33180b648de9e4bcc1fd7b7ca6a66 diff --git a/lib/BackupPC/Lib.pm b/lib/BackupPC/Lib.pm index 3a8cf18..011e394 100644 --- a/lib/BackupPC/Lib.pm +++ b/lib/BackupPC/Lib.pm @@ -72,7 +72,20 @@ require DynaLoader; BEGIN { eval "use IO::Dirent qw( readdirent DT_DIR );"; - $IODirentOk = 1 if ( !$@ ); + if ( !$@ && opendir(my $fh, ".") ) { + # + # Make sure the IO::Dirent really works - some installs + # on certain file systems don't return a valid type. + # + my $dt_dir = eval("DT_DIR"); + foreach my $e ( readdirent($fh) ) { + if ( $e->{name} eq "." && $e->{type} == $dt_dir ) { + $IODirentOk = 1; + last; + } + } + closedir($fh); + } }; #