Thread (31 messages) flat view 31 messages, 2 authors, 2016-06-15

Re: [PATCH v4 10/17] trailer: if no input file is passed, read from stdin

From: Eric Sunshine <hidden>
Date: 2016-06-15 22:59:47

On Thu, Jan 30, 2014 at 1:49 AM, Christian Couder
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
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 <redacted>
---
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?
quoted hunk ↗ jump to hunk
+                       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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help