From e2b6da2c1858c657ebd527fcf64e08bce41746cc Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Fri, 25 Jun 2004 07:43:28 +0000 Subject: fix cp_af() for symlinks to directories --- MDK/Common/File.pm | 8 ++++---- 1 file 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; -- cgit v1.2.1