summaryrefslogtreecommitdiff
path: root/lib/File
diff options
context:
space:
mode:
authorTony Cook <tony@develop-help.com>2020-10-07 12:08:30 +1100
committerTony Cook <tony@develop-help.com>2020-12-01 15:29:33 +1100
commit520fd6d3ecf7b0cec09bae8a26b939b7ed485bbf (patch)
treee4f9b4460cf3a172dd384531df3dfdf697d79974 /lib/File
parent0d00729c03a1f68e1b51e986d1ce9000b0e3d301 (diff)
downloadperl-520fd6d3ecf7b0cec09bae8a26b939b7ed485bbf.tar.gz
File::Copy: support symlinks on Win32
Diffstat (limited to 'lib/File')
-rw-r--r--lib/File/Copy.pm4
-rw-r--r--lib/File/Copy.t5
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/File/Copy.pm b/lib/File/Copy.pm
index 63609cc28e..ac98cc2df0 100644
--- a/lib/File/Copy.pm
+++ b/lib/File/Copy.pm
@@ -24,7 +24,7 @@ sub syscopy;
sub cp;
sub mv;
-$VERSION = '2.34';
+$VERSION = '2.35';
require Exporter;
@ISA = qw(Exporter);
@@ -100,7 +100,7 @@ sub copy {
}
if ((($Config{d_symlink} && $Config{d_readlink}) || $Config{d_link}) &&
- !($^O eq 'MSWin32' || $^O eq 'os2')) {
+ !($^O eq 'os2')) {
my @fs = stat($from);
if (@fs) {
my @ts = stat($to);
diff --git a/lib/File/Copy.t b/lib/File/Copy.t
index 57d9478a68..f21c871316 100644
--- a/lib/File/Copy.t
+++ b/lib/File/Copy.t
@@ -164,7 +164,10 @@ for my $cross_partition_test (0..1) {
open(F, ">", "file-$$") or die $!;
print F "dummy content\n";
close F;
- symlink("file-$$", "symlink-$$") or die $!;
+ if (!symlink("file-$$", "symlink-$$")) {
+ unlink "file-$$";
+ skip "Can't create symlink", 3;
+ }
my $warnings = '';
local $SIG{__WARN__} = sub { $warnings .= join '', @_ };