Handle also extra directories et alia.
Jarkko Hietaniemi [Thu, 6 Mar 2003 07:55:03 +0000 (07:55 +0000)]
p4raw-id: //depot/perl@18836

Porting/manicheck

index 20125d8..e2a33ec 100644 (file)
@@ -36,10 +36,17 @@ help() if $h;
 open(MANIFEST, "MANIFEST") or die "MANIFEST: $!";
 
 my %mani;
+my %mand = qw(. 1);
+use File::Basename qw(dirname);
 
 while (<MANIFEST>) {
   if (/^(\S+)\t+(.+)$/) {
     $mani{$1}++;
+    my $d = dirname($1);
+    while($d ne '.') {
+       $mand{$d}++;
+       $d = dirname($d);
+    }
   } else {
     warn "MANIFEST:$.:$_";
   }
@@ -50,18 +57,16 @@ close(MANIFEST);
 my %find;
 use File::Find;
 find(sub {
-       if(-f $_) {
-        my $f = $File::Find::name;
-        $f =~ s:^\./::;
-        $find{$f}++;
-       }
+       my $n = $File::Find::name;
+       $n =~ s:^\./::;
+       $find{$n}++;
      }, '.' );
 
 my @xtra;
 my @miss;
 
 for (sort keys %find) {
-  push @xtra, $_ unless $mani{$_};
+  push @xtra, $_ unless $mani{$_} || $mand{$_};
 }
 
 for (sort keys %mani) {