On Thu, May 6, 2010 at 6:32 PM, Eric Blake <[email protected]> wrote: > On 05/06/2010 09:13 AM, Ludovic Courtès wrote: >>> Even if it is also available as a shell builtin, that does not >>> alleviate the requirement to also have it available on $PATH. >> >> echo(1) *is* available in $PATH in the build environment, just like all >> of Coreutils. >> >> What would you think of ‘--with-echo’? > > Why is xargs blindly calling /bin/echo?
I don't know, it's been that way since the first checkin in the (current) repository, dating from 1996. > Wouldn't it just be simpler to > change xargs.c' definition of default_cmd to be "echo" instead of > "/bin/echo" and using execvp instead of execve? I guess there will be a slight performance penalty, but if we want to prevent that we have the option of searching the path for the binary and using the absolute path. > In a compliant > environment, you are guaranteed that echo(1) is on PATH, and calling the > wrong echo because of a non-compliant environment is not really xargs' > concern. In other words, instead of making it more complex by adding > configure --with-echo, I propose making it simpler by dropping the > hard-coding in the first place. I guess it makes sense. Would you like to go ahead and make the change? James.
