From c5d64a7f9b1db4e98aff95c237342a793e40c6f5 Mon Sep 17 00:00:00 2001 From: joeyh Date: Sun, 8 Jan 2006 04:13:06 +0000 Subject: r1843: * dh_link: add special case handling for paths to a directory containing the link. Closes: #346405 * dh_link: add special case handling for link to / --- dh_link | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'dh_link') diff --git a/dh_link b/dh_link index 5dd9da3d..a56eefbd 100755 --- a/dh_link +++ b/dh_link @@ -105,6 +105,9 @@ sub expand_path { foreach $entry (@respath) { $result .= '/' . $entry; } + if (! defined $result) { + $result="/"; # special case + } return $result; } @@ -175,11 +178,11 @@ foreach my $package (@{$dh{DOPACKAGES}}) { # top level directories, leave it absolute. my @src_dirs=split(m:/+:,$src); my @dest_dirs=split(m:/+:,$dest); - if ($src_dirs[0] eq $dest_dirs[0]) { + if (@src_dirs > 0 && $src_dirs[0] eq $dest_dirs[0]) { # Figure out how much of a path $src and $dest # share in common. my $x; - for ($x=0; $x<$#src_dirs && $src_dirs[$x] eq $dest_dirs[$x]; $x++) {} + for ($x=0; $x<@src_dirs && $src_dirs[$x] eq $dest_dirs[$x]; $x++) {} # Build up the new src. $src=""; for (1..$#dest_dirs - $x) { @@ -188,6 +191,9 @@ foreach my $package (@{$dh{DOPACKAGES}}) { for ($x .. $#src_dirs) { $src.=$src_dirs[$_]."/"; } + if ($x > $#src_dirs && ! length $src) { + $src.="."; # special case + } $src=~s:/$::; } else { -- cgit v1.2.3