summaryrefslogtreecommitdiff
path: root/lib/URI/file/FAT.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/URI/file/FAT.pm')
-rw-r--r--lib/URI/file/FAT.pm27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/URI/file/FAT.pm b/lib/URI/file/FAT.pm
new file mode 100644
index 0000000..2d78275
--- /dev/null
+++ b/lib/URI/file/FAT.pm
@@ -0,0 +1,27 @@
+package URI::file::FAT;
+
+use strict;
+use warnings;
+
+use parent 'URI::file::Win32';
+
+our $VERSION = "1.69";
+
+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;