Re: [PATCH v4 10/17] trailer: if no input file is passed, read from stdin
- From
Christian Couder <chriscool@tuxfamily.org>
- Date
- Feb 6, 2014, 20:16 UTC
- Message-ID
- <20140206.211639.74249240425700292.chriscool@tuxfamily.org>
- In-Reply-To
- <CAPig+cTVN+MqjhouCsE2gi4GWd14dLH6=5QrbEfTTgz5jLxtKA@mail.gmail.com>
From: Eric Sunshine <sunshine@sunshineco.com>
Show 25 quoted lines
>
> On Thu, Jan 30, 2014 at 1:49 AM, Christian Couder
> <chriscool@tuxfamily.org> wrote:
>> It is simpler and more natural if the "git interpret-trailers"
>> is made a filter as its output already goes to sdtout.
>>
>> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
>> ---
>> diff --git a/trailer.c b/trailer.c
>> index 8681aed..73a65e0 100644
>> --- a/trailer.c
>> +++ b/trailer.c
>> @@ -464,8 +464,13 @@ static struct strbuf **read_input_file(const char *infile)
>> {
>> struct strbuf sb = STRBUF_INIT;
>>
>> - if (strbuf_read_file(&sb, infile, 0) < 0)
>> - die_errno(_("could not read input file '%s'"), infile);
>> + if (infile) {
>> + if (strbuf_read_file(&sb, infile, 0) < 0)
>> + die_errno(_("could not read input file '%s'"), infile);
>> + } else {
>> + if (strbuf_read(&sb, fileno(stdin), 0) < 0)
>
> strbuf_fread(), perhaps?I chose strbuf_read() because it can be passed 0 as a size hint, while strbuf_fread() must be passed an exact size.
(As we might read from stdin, we might not be able to know the exact size before we start reading.)
Thanks, Christian.