findtool: file name as a full path requires a slash

Kalle Vahlman's patch applied a while ago broke how the findtool
function searches for tools, as it would always check if "$file"
was present first, which thus made the bad assumption that a file
in the current directory would be a match.

I noticed when it found 'libtool' in the current directory but
libtoolize is not there, which confused the script.
This commit is contained in:
Daniel Stenberg 2010-05-09 23:16:37 +02:00
parent d2621445f1
commit a784ed6065
1 changed files with 10 additions and 4 deletions

View File

@ -6,7 +6,7 @@
# | (__| |_| | _ <| |___ # | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____| # \___|\___/|_| \_\_____|
# #
# Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al. # Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
# #
# This software is licensed as described in the file COPYING, which # This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms # you should have received as part of this distribution. The terms
@ -33,9 +33,15 @@ die(){
findtool(){ findtool(){
file="$1" file="$1"
if test -f "$file"; then if { echo $file | grep "/" >/dev/null 2>&1; } then
echo "$file" # we only check for the explicit file name if the file is given
return # including a slash. Use ./ for current dir. Previously this would
# otherwise always cause findtool to search the local dir first, which
# is wrong.
if test -f "$file"; then
echo "$file"
return
fi
fi fi
old_IFS=$IFS; IFS=':' old_IFS=$IFS; IFS=':'