From 0348907c750a20eca9ee6595b9cff09f70c4a070 Mon Sep 17 00:00:00 2001 From: dakkar Date: Mon, 17 Aug 2009 15:33:31 +0200 Subject: some more path cleanup --- lib/WebCoso/Common.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lib/WebCoso') diff --git a/lib/WebCoso/Common.pm b/lib/WebCoso/Common.pm index bfd5e88..513a562 100644 --- a/lib/WebCoso/Common.pm +++ b/lib/WebCoso/Common.pm @@ -18,7 +18,7 @@ our $VERBOSITY=0; sub setpaths { for my $path ($SRCPATH,$DSTPATH,@TMPLPATH) { - $path=file($path)->absolute()->stringify; + $path=file($path)->absolute()->cleanup->stringify; } return; } @@ -58,6 +58,7 @@ sub dstUriFor { if ($path) { $name=file($name)->absolute(file($path)->parent)->relative($SRCPATH); $name=dir("$SRCPATH/$name/")->cleanup->stringify . '/'; + $name=~ s{/(?:[^/]+)/\.\.}{}g; } $name=~s{^\Q$SRCPATH\E/}{$DSTBASEURL}; DEBUG("dstUriFor -> $name"); @@ -74,8 +75,8 @@ sub srcXMLFor { $doc_name=~s{^\Q$DSTBASEURL\E}{$SRCPATH/}; } else { - $doc_name=file($doc_name)->absolute(file($path)->parent)->relative($SRCPATH); # absolutize it - $doc_name="$SRCPATH/$doc_name"; + $doc_name=file($doc_name)->absolute(file($path)->parent)->cleanup->stringify; + $doc_name=~ s{/(?:[^/]+)/\.\.}{}g; } return $doc_name; -- cgit v1.2.3