Re: [PATCH v4 10/17] trailer: if no input file is passed, read from stdin
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Feb 2, 2014, 09:50 UTC
- Message-ID
- <CAPig+cTVN+MqjhouCsE2gi4GWd14dLH6=5QrbEfTTgz5jLxtKA@mail.gmail.com>
- In-Reply-To
- <20140130064921.7504.57934.chriscool@tuxfamily.org>
On Thu, Jan 30, 2014 at 1:49 AM, Christian Couder <chriscool@tuxfamily.org> wrote:
Show 20 quoted lines
> 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?
Show 20 quoted lines
> + die_errno(_("could not read from stdin"));
> + }
>
> return strbuf_split(&sb, '\n');
> }
> @@ -530,10 +535,8 @@ void process_trailers(const char *infile, int trim_empty, int argc, const char *
>
> git_config(git_trailer_config, NULL);
>
> - /* Print the non trailer part of infile */
> - if (infile) {
> - process_input_file(infile, &infile_tok_first, &infile_tok_last);
> - }
> + /* Print the non trailer part of infile (or stdin if infile is NULL) */
> + process_input_file(infile, &infile_tok_first, &infile_tok_last);
>
> arg_tok_first = process_command_line_args(argc, argv);
>
> --
> 1.8.5.2.201.gacc5987