* gnulib-tool (self_abspathname): Fix algorithm to cope with
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 1 Jul 2007 11:02:14 +0000 (11:02 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 1 Jul 2007 11:02:14 +0000 (11:02 +0000)
empty components in $PATH, denoting '.'.

ChangeLog
gnulib-tool

index f365ea4..6a69486 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-07-01  Bruno Haible <bruno@clisp.org>
+           Eric Blake  <ebb9@byu.net>
+           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gnulib-tool (self_abspathname): Fix algorithm to cope with
+       empty components in $PATH, denoting '.'.
+
 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * gnulib-tool: Fix indentation.
index ed6979b..5bc39c4 100755 (executable)
@@ -22,7 +22,7 @@
 
 progname=$0
 package=gnulib
-cvsdatestamp='$Date: 2007-07-01 07:55:35 $'
+cvsdatestamp='$Date: 2007-07-01 11:02:15 $'
 last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'`
 version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
 nl='
@@ -888,9 +888,15 @@ case "$0" in
   */*) self_abspathname=`pwd`/"$0" ;;
   *)
     self_abspathname=
+    pathx=$PATH
+    case :$PATH: in
+      *::*)
+        pathx=`echo ":$PATH:" | sed -e 's/:::*/:.:/g' -e 's/^://' -e 's/:\$//'`
+       ;;
+    esac
     save_IFS=$IFS
     IFS=:
-    for d in $PATH; do
+    for d in $pathx; do
       IFS=$save_IFS
       test -z "$d" && d=.
       if test -x "$d/$0" && test ! -d "$d/$0"; then