[PATCH] Fix two issues with directory searches on Windows

Thiago Macieira thiago at macieira.org
Fri Oct 11 20:39:56 UTC 2013


First, make sure we actually match /c/windows from the beginning, not
if it occurs in the middle of the path.

Second, make sure that directories containing the binaries are
searched first. Do that by using unshift (prepend) instead of push
(append).

Signed-off-by: Thiago Macieira <thiago at macieira.org>
---
 scripts/win-ldd.pl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/win-ldd.pl b/scripts/win-ldd.pl
index 07ea7ea..e3aa505 100644
--- a/scripts/win-ldd.pl
+++ b/scripts/win-ldd.pl
@@ -3,7 +3,7 @@ use strict;
 my %deploy;
 my $objdump = $ENV{objdump} ? $ENV{objdump} : "objdump";
 my @searchdirs;
-my @systemdirs = (qr|^c:/windows|i, qr|^c:/winnt|i, qr|/c/windows|i, qr|/c/winnt|);
+my @systemdirs = (qr|^c:/windows|i, qr|^c:/winnt|i, qr|^/c/windows|i, qr|^/c/winnt|);
 
 sub addDependenciesFor($) {
 	open OBJDUMP, "-|", $objdump, "-p", $_[0] or die;
@@ -50,7 +50,7 @@ for (@ARGV) {
 		# Add $_'s path to the search list too
 		my $dirname = $_;
 		$dirname =~ s,/[^/]+$,,;
-		push @searchdirs, $dirname;
+		unshift @searchdirs, $dirname;
 
 		$deploy{$_} = $_;
 		addDependenciesFor($_);
-- 
1.7.11.7



More information about the subsurface mailing list