Re: [PATCH] send-email: improve recipients_cmd()
On Sun, Apr 28, 2013 at 2:18 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 17 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> We don't need to quote the filename to pass to the command, we can use
>> an array of all the arguments to pass to the command, which is safer,
>> and more extensible.
>>
>> Commit a47eab0 (send-email: use the three-arg form of open in
>> recipients_cmd) stated we couldn't pass $file directly, but in fact, we
>> can, the multi-word string is passed as is, and we can pass an array
>> too.
>
> I think the comment is not about passing $file directly, but is
> about passing $cmd that could be multi-word string directly. The
> caller expects it be split into command and its earlier part of
> command line parameters, so that you can say
>
> $cmd = "cccmd --frotz --nitfol"
> but the non-string form of open would not give you that, unless you
> rewrite it to
>
> open $fh, "-|", qw(sh -c), $cmd, @args
That doesn't seem to work for me.
It would have to be:
open $fh, "-|", qw(sh -c), "$cmd \Q$args\E"
So we end up in the same place.
--
Felipe Contreras