diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-05-18 14:51:27 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-05-18 14:51:27 +0900 |
| commit | f7406435f371c6607e80e58777e76efd08d32dd0 (patch) | |
| tree | 26ad3d5f77b007a5107499011985d1262378e0ac /tools | |
| parent | f81ddf902529b408fd7c12e187c7db4f100f7702 (diff) | |
| download | mruby-f7406435f371c6607e80e58777e76efd08d32dd0.tar.gz mruby-f7406435f371c6607e80e58777e76efd08d32dd0.zip | |
mruby should read from stdin when no argument given
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/mruby/mruby.c | 10 |
1 files 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*)); |
