diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-03-19 20:09:22 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-03-19 20:09:22 +0000 |
commit | d5fd8ad932a4c39e22f842f949e12c28c36fe319 (patch) | |
tree | 56cd8e3cd3258ea864af43970dfc7b4e30eba6b8 /Porting/check83.pl | |
parent | 556b7d85369599099acd0b4bbd6dd6ec59c9bf8f (diff) | |
download | perl-d5fd8ad932a4c39e22f842f949e12c28c36fe319.tar.gz |
More pathname portability checks.
p4raw-id: //depot/perl@15337
Diffstat (limited to 'Porting/check83.pl')
-rw-r--r-- | Porting/check83.pl | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Porting/check83.pl b/Porting/check83.pl index 51b2b11b8a..0522bc0d33 100644 --- a/Porting/check83.pl +++ b/Porting/check83.pl @@ -1,12 +1,22 @@ #!/usr/local/bin/perl -# Check whether there are naming conflicts when names are truncated -# to the DOSish case-ignoring 8.3 format +# Check whether there are naming conflicts when names are truncated to +# the DOSish case-ignoring 8.3 format, plus other portability no-nos. sub eight_dot_three { my ($dir, $base, $ext) = ($_[0] =~ m!^(?:(.+)/)?([^/.]+)(?:\.([^/.]+))?$!); + my $file = $base . defined $ext ? ".$ext" : ""; $base = substr($base, 0, 8); $ext = substr($ext, 0, 3) if defined $ext; + if ($dir =~ /\./) { + warn "$dir: directory name contains '.'\n"; + } + if ($file =~ /[^A-Za-z0-9\._-]/) { + warn "$file: filename contains non-portable characters\n"; + } + if (length $file > 30) { + warn "$file: filename longer than 30 characters\n"; + } if (defined $dir) { return ($dir, defined $ext ? "$dir/$base.$ext" : "$dir/$base"); } else { |