git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] send-email: improve recipients_cmd()

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 29, 2013, 05:14 UTC
Message-ID
<CAMP44s0x8fK-6vbY20eKA9QjWqhiOCvx+KFOgKOZ8q58bwk8Tw@mail.gmail.com>
In-Reply-To
<7vbo8yqxas.fsf@alter.siamese.dyndns.org>
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"
I see.
> 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
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 6 in “send-email: improve recipients_cmd()”
  1. send-email: improve recipients_cmd()Felipe Contreras, Apr 27, 2013
  2. Junio C HamanoApr 28, 2013
  3. Felipe ContrerasApr 29, 2013
  4. Junio C HamanoApr 29, 2013
  5. Felipe ContrerasApr 29, 2013
  6. Junio C HamanoApr 29, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.