summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/URI/file/FAT.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/URI/file/FAT.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file/FAT.pm23
1 files changed, 23 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/URI/file/FAT.pm b/Master/tlpkg/tlperl/lib/URI/file/FAT.pm
new file mode 100644
index 00000000000..328169bd0bf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/URI/file/FAT.pm
@@ -0,0 +1,23 @@
+package URI::file::FAT;
+
+require URI::file::Win32;
+@ISA=qw(URI::file::Win32);
+
+sub fix_path
+{
+ shift; # class
+ for (@_) {
+ # turn it into 8.3 names
+ my @p = map uc, split(/\./, $_, -1);
+ return if @p > 2; # more than 1 dot is not allowed
+ @p = ("") unless @p; # split bug? (returns nothing when splitting "")
+ $_ = substr($p[0], 0, 8);
+ if (@p > 1) {
+ my $ext = substr($p[1], 0, 3);
+ $_ .= ".$ext" if length $ext;
+ }
+ }
+ 1; # ok
+}
+
+1;