3 # Check whether there are naming conflicts when names are truncated
4 # to the DOSish case-ignoring 8.3 format
7 my ($dir, $base, $ext) = ($_[0] =~ m!^(?:(.+)/)?([^/.]+)(?:\.([^/.]+))?$!);
8 $base = substr($base, 0, 8);
9 $ext = substr($ext, 0, 3) if defined $ext;
11 return ($dir, defined $ext ? "$dir/$base.$ext" : "$dir/$base");
13 return ('.', defined $ext ? "$base.$ext" : $base);
19 if (open(MANIFEST, "MANIFEST")) {
28 print "$_: more than one dot\n";
31 my ($dir, $edt) = eight_dot_three($_);
32 ($dir, $edt) = map { lc } ($dir, $edt);
33 push @{$dir{$dir}->{$edt}}, $_;
36 die "$0: MANIFEST: $!\n";
39 for my $dir (sort keys %dir) {
40 for my $edt (keys %{$dir{$dir}}) {
41 my @files = @{$dir{$dir}->{$edt}};
43 print "@files: directory $dir conflict $edt\n";