Hello, I noticed this older post today: On Tue, May 31, 2005 at 11:50:44PM +0200, Alexandre Duret-Lutz wrote: > Noah> I received a bug report about a KDE application that was > Noah> using an old version of mkinstalldirs and failed when one > Noah> of the directories had an embedded space in the name. ... > Wouldn't this bug be fixed simply using IFS=/ as follows?
I think the patch has one minor problem: test -z "$d" is not portable. See "test (strings)" section in http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_node/autoconf_122.html (node Limitations of Shell Builtins in the Autoconf manual). Modified version of the patch is attached below. Are there any reasons why this shouldn't be commited? Have a nice day, Stepan Index: lib/mkinstalldirs =================================================================== RCS file: /cvs/automake/automake/lib/mkinstalldirs,v retrieving revision 1.18 diff -u -r1.18 mkinstalldirs --- lib/mkinstalldirs 14 May 2005 20:28:50 -0000 1.18 +++ lib/mkinstalldirs 31 May 2005 21:43:33 -0000 @@ -1,7 +1,7 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -scriptversion=2005-05-14.22 +scriptversion=2005-05-31.23 # Original author: Noah Friedman <[EMAIL PROTECTED]> # Created: 1993-05-16 @@ -103,12 +103,20 @@ for file do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + case $file in + /*) pathcomp=/ ;; + *) pathcomp= ;; + esac + oIFS=$IFS + IFS=/ + set fnord $file shift + IFS=$oIFS - pathcomp= for d do + test "x$d" = x && continue + pathcomp="$pathcomp$d" case $pathcomp in -*) pathcomp=./$pathcomp ;;