From 76f28241f1a6eb76070d470779fc17d43ca838e3 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Tue, 16 Oct 2012 20:54:06 +0900 Subject: "mrbc -" should take input from stdin; close #489 --- tools/mrbc/mrbc.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'tools') diff --git a/tools/mrbc/mrbc.c b/tools/mrbc/mrbc.c index 5382b90a8..3c6352f80 100644 --- a/tools/mrbc/mrbc.c +++ b/tools/mrbc/mrbc.c @@ -77,8 +77,11 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args) for (argc--,argv++; argc > 0; argc--,argv++) { if (**argv == '-') { - if (strlen(*argv) <= 1) - return -1; + if (strlen(*argv) == 1) { + args->filename = infile = "-"; + args->rfp = stdin; + break; + } switch ((*argv)[1]) { case 'o': @@ -134,9 +137,14 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args) if (args->check_syntax) return 0; - if (outfile == NULL) - outfile = get_outfilename(infile, args->ext); - + if (outfile == NULL) { + if (strcmp("-", infile) == 0) { + outfile = infile; + } + else { + outfile = get_outfilename(infile, args->ext); + } + } if (strcmp("-", outfile) == 0) { args->wfp = stdout; } -- cgit v1.2.3