summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-04-25 22:57:12 +0900
committerYukihiro Matsumoto <[email protected]>2012-04-25 22:57:12 +0900
commite26bf08e3906d17bd1decd4dfe28067ab3948582 (patch)
tree45f7a6104e9839f0fc7c66f0000e9d29c95c277c
parent140b9cad8bc424f055304cc328d9a98ff962df8e (diff)
downloadmruby-e26bf08e3906d17bd1decd4dfe28067ab3948582.tar.gz
mruby-e26bf08e3906d17bd1decd4dfe28067ab3948582.zip
tools/mruby: multiple -e should concatenate command line args
-rw-r--r--tools/mruby/mruby.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/mruby/mruby.c b/tools/mruby/mruby.c
index e653b145d..d75722e23 100644
--- a/tools/mruby/mruby.c
+++ b/tools/mruby/mruby.c
@@ -82,7 +82,14 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args)
}
}
else if (cmdline) {
- args->cmdline = strdup(*argv);
+ if (!args->cmdline) {
+ args->cmdline = strdup(argv[0]);
+ }
+ else {
+ args->cmdline = mrb_realloc(mrb, args->cmdline, strlen(args->cmdline)+strlen(argv[0])+2);
+ strcat(args->cmdline, "\n");
+ strcat(args->cmdline, argv[0]);
+ }
}
else if (args->rfp == NULL) {
if ((args->rfp = fopen(*argv, args->mrbfile ? "rb" : "r")) == NULL) {