[PATCH] git-rev-list: tolerate multiple --stdin options
- From
Adam Brewster <adambrewster@gmail.com>
- Date
- Jul 6, 2008, 14:28 UTC
- Message-ID
- <1215354538-1469-2-git-send-email-adambrewster@gmail.com>
- In-Reply-To
- <1215354538-1469-1-git-send-email-adambrewster@gmail.com>
There's no reason to fail if the user asks for --stdin twice. Of course there's only one stdin, and it can only be read once, and there's no reason to ask for it twice, but --all --all doesn't make sense, and that's accepted, so accept this too.
Also, with read_revisions_from_stdin in revision.c where it might be called by other programs, it's better to check that stdin isn't at eof before trying to read it.
Signed-off-by: Adam Brewster <asb@bu.edu> --- builtin-rev-list.c | 3 --- revision.c | 2 +- 2 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/builtin-rev-list.c b/builtin-rev-list.c index b4a2c44..7f7c1a7 100644 --- a/builtin-rev-list.c +++ b/builtin-rev-list.c @@ -579,7 +579,6 @@ int cmd_rev_list(int argc, const char **argv, const char *prefix) { struct commit_list *list; int i; - int read_from_stdin = 0; int bisect_show_vars = 0; int bisect_find_all = 0; int quiet = 0; @@ -616,8 +615,6 @@ int cmd_rev_list(int argc, const char **argv, const char *prefix) continue; } if (!strcmp(arg, "--stdin")) { - if (read_from_stdin++) - die("--stdin given twice?"); read_revisions_from_stdin(&revs); continue; } diff --git a/revision.c b/revision.c index 0191160..c1550c4 100644 --- a/revision.c +++ b/revision.c @@ -914,7 +914,7 @@ int handle_revision_arg(const char *arg, struct rev_info *revs, void read_revisions_from_stdin(struct rev_info *revs) { char line[1000]; - + if (feof(stdin)) return; while (fgets(line, sizeof(line), stdin) != NULL) { int len = strlen(line); if (len && line[len - 1] == '\n')
-- 1.5.5.1.211.g65ea3.dirty