Hello Alexandre, On Tue, Jul 19, 2005 at 10:08:45PM +0200, Alexandre Duret-Lutz wrote: > I'm reluctant to chop $destdir using sed in a loop, [...]
I think there is a possibility to call the sed only once, before the set. Please have a look at the attached patch. I have made some experiments on my cmdline before writing it, but I haven't tested the patch, sorry. What would you think about it? A note: I think that the \\\$ can be replaced by mere $ The reason is that "$," is not expanded, as comma is not valid shell variable name. Can we rely on this feature? Have a nice day, Stepan
2005-07-20 Stepan Kasal <[EMAIL PROTECTED]> * lib/install-sh: Use sed and eval instead of IFS=/, to avoid word splitting. Index: lib/install-sh =================================================================== RCS file: /cvs/automake/automake/lib/install-sh,v retrieving revision 1.25 diff -u -r1.25 install-sh --- lib/install-sh 9 Jul 2005 10:21:12 -0000 1.25 +++ lib/install-sh 20 Jul 2005 08:31:05 -0000 @@ -224,11 +224,10 @@ -*) pathcomp=./ ;; *) pathcomp= ;; esac - oIFS=$IFS - IFS=/ - set fnord $dstdir + # We cannot use IFS=/ because wildcards are expanded after word splitting. + d=`echo "$dstdir"|sed "s,','\\\\\\\\'',g;s,/,' ',g;s,^,',;s,\\\$,',"` + eval set fnord "$d" shift - IFS=$oIFS for d do