diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2004-06-25 07:43:28 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2004-06-25 07:43:28 +0000 |
commit | e2b6da2c1858c657ebd527fcf64e08bce41746cc (patch) | |
tree | 80c13a18c8401cc5602e6d424c7bf876e8281b5e /MDK | |
parent | d5cad2f4c2d9c917a2dce1a563edf1537b26237d (diff) | |
download | perl-MDK-Common-e2b6da2c1858c657ebd527fcf64e08bce41746cc.tar perl-MDK-Common-e2b6da2c1858c657ebd527fcf64e08bce41746cc.tar.gz perl-MDK-Common-e2b6da2c1858c657ebd527fcf64e08bce41746cc.tar.bz2 perl-MDK-Common-e2b6da2c1858c657ebd527fcf64e08bce41746cc.tar.xz perl-MDK-Common-e2b6da2c1858c657ebd527fcf64e08bce41746cc.zip |
fix cp_af() for symlinks to directories
Diffstat (limited to 'MDK')
-rw-r--r-- | MDK/Common/File.pm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/MDK/Common/File.pm b/MDK/Common/File.pm index f73a99c..3e28689 100644 --- a/MDK/Common/File.pm +++ b/MDK/Common/File.pm @@ -174,13 +174,13 @@ sub cp_with_option { unlink $dest; - if (-d $src) { - -d $dest or mkdir $dest, (stat($src))[2] or die "mkdir: can't create directory $dest: $!\n"; - cp_af(glob_($src), $dest); - } elsif (-l $src && $keep_special) { + if (-l $src && $keep_special) { unless (symlink(readlink($src) || die("readlink failed: $!"), $dest)) { warn "symlink: can't create symlink $dest: $!\n"; } + } elsif (-d $src) { + -d $dest or mkdir $dest, (stat($src))[2] or die "mkdir: can't create directory $dest: $!\n"; + cp_af(glob_($src), $dest); } elsif ((-b $src || -c $src) && $keep_special) { my @stat = stat($src); require MDK::Common::System; |