summaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-08-15 09:31:13 +0900
committerYukihiro Matsumoto <[email protected]>2012-08-15 09:31:13 +0900
commit5f11890d0488319ddbe8978d33acad52f2410ced (patch)
tree117436db14bdf18875fd5ceb6e1b359e1855a971 /tools
parentd648970bc8503b15b1e26c48668f023e3dea3c1c (diff)
downloadmruby-5f11890d0488319ddbe8978d33acad52f2410ced.tar.gz
mruby-5f11890d0488319ddbe8978d33acad52f2410ced.zip
mruby should accept "-" as stdin
Diffstat (limited to 'tools')
-rw-r--r--tools/mruby/mruby.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/mruby/mruby.c b/tools/mruby/mruby.c
index 3a234d22e..8336089ee 100644
--- a/tools/mruby/mruby.c
+++ b/tools/mruby/mruby.c
@@ -61,13 +61,15 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args)
memset(args, 0, sizeof(*args));
if (argc == 1) return -2;
-
for (argc--,argv++; argc > 0; argc--,argv++) {
char *item;
if (argv[0][0] != '-') break;
- if (strlen(*argv) <= 1)
- return -1;
+ if (strlen(*argv) <= 1) {
+ argc--; argv++;
+ args->rfp = stdin;
+ break;
+ }
item = argv[0] + 1;
switch (*item++) {
@@ -127,7 +129,6 @@ append_cmdline:
}
}
-
if (args->rfp == NULL && args->cmdline == NULL) {
if (*argv == NULL) args->rfp = stdin;
else if ((args->rfp = fopen(*argv, args->mrbfile ? "rb" : "r")) == NULL) {