summaryrefslogtreecommitdiff
path: root/lib/URI/file/OS2.pm
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2015-07-25 01:06:42 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2015-07-25 01:06:42 +0000
commit9165b237ad8fae18b36d4d40d6e2ccfde7b136c7 (patch)
tree06530ddd6baa7e251c58b6b6729ed458da61a681 /lib/URI/file/OS2.pm
downloadURI-tarball-master.tar.gz
Diffstat (limited to 'lib/URI/file/OS2.pm')
-rw-r--r--lib/URI/file/OS2.pm32
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/URI/file/OS2.pm b/lib/URI/file/OS2.pm
new file mode 100644
index 0000000..f451f9e
--- /dev/null
+++ b/lib/URI/file/OS2.pm
@@ -0,0 +1,32 @@
+package URI::file::OS2;
+
+use strict;
+use warnings;
+
+use parent 'URI::file::Win32';
+
+our $VERSION = "1.69";
+
+# The Win32 version translates k:/foo to file://k:/foo (?!)
+# We add an empty host
+
+sub _file_extract_authority
+{
+ my $class = shift;
+ return $1 if $_[0] =~ s,^\\\\([^\\]+),,; # UNC
+ return $1 if $_[0] =~ s,^//([^/]+),,; # UNC too?
+
+ if ($_[0] =~ m#^[a-zA-Z]{1,2}:#) { # allow for ab: drives
+ return "";
+ }
+ return;
+}
+
+sub file {
+ my $p = &URI::file::Win32::file;
+ return unless defined $p;
+ $p =~ s,\\,/,g;
+ $p;
+}
+
+1;