From 49ee6a7546c7e022bca22e631e86b5b24b9e8267 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Mon, 17 Nov 2003 17:25:44 +0000 Subject: substInFile: if file is a symlink, make sure it stays a symlink --- MDK/Common/File.pm | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'MDK/Common/File.pm') diff --git a/MDK/Common/File.pm b/MDK/Common/File.pm index 49895a0..95b2b30 100644 --- a/MDK/Common/File.pm +++ b/MDK/Common/File.pm @@ -219,6 +219,14 @@ sub glob_ { sub substInFile(&@) { my ($f, $file) = @_; + my $linkdest; + #- try hard to keep symlinks as they were set + if (-l $file) { + my $targetfile = readlink $file; + unlink $file; + $linkdest = $file; + $file = $targetfile; + } if (-s $file) { local @ARGV = $file; local $^I = ''; @@ -235,6 +243,7 @@ sub substInFile(&@) { select $old; eval { output($file, $_) }; } + $linkdest and symlink $file, $linkdest; } -- cgit v1.2.1