From f7406435f371c6607e80e58777e76efd08d32dd0 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Fri, 18 May 2012 14:51:27 +0900 Subject: mruby should read from stdin when no argument given --- tools/mruby/mruby.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/mruby/mruby.c b/tools/mruby/mruby.c index 8e214c037..154f266d1 100644 --- a/tools/mruby/mruby.c +++ b/tools/mruby/mruby.c @@ -107,10 +107,12 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args) } - if (args->rfp == NULL && args->cmdline == NULL && - (*argv == NULL || (args->rfp = fopen(*argv, args->mrbfile ? "rb" : "r")) == NULL)) { - printf("%s: Cannot open program file. (%s)\n", *origargv, *argv); - return 0; + if (args->rfp == NULL && args->cmdline == NULL) { + if (*argv == NULL) args->rfp = stdin; + else if ((args->rfp = fopen(*argv, args->mrbfile ? "rb" : "r")) == NULL) { + printf("%s: Cannot open program file. (%s)\n", *origargv, *argv); + return 0; + } } args->argv = mrb_realloc(mrb, args->argv, sizeof(char*) * (argc + 1)); memcpy(args->argv, argv, (argc+1) * sizeof(char*)); -- cgit v1.2.3