summaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/mirb/mirb.c2
-rw-r--r--tools/mrbc/mrbc.c6
-rw-r--r--tools/mruby/mruby.c2
3 files changed, 7 insertions, 3 deletions
diff --git a/tools/mirb/mirb.c b/tools/mirb/mirb.c
index 008829cfb..cde0b0d4b 100644
--- a/tools/mirb/mirb.c
+++ b/tools/mirb/mirb.c
@@ -273,7 +273,7 @@ main(int argc, char **argv)
printf("\n");
break;
}
- strncat(last_code_line, line, sizeof(last_code_line)-1);
+ strncpy(last_code_line, line, sizeof(last_code_line)-1);
add_history(line);
free(line);
#endif
diff --git a/tools/mrbc/mrbc.c b/tools/mrbc/mrbc.c
index 8698086ff..cb4de6d2a 100644
--- a/tools/mrbc/mrbc.c
+++ b/tools/mrbc/mrbc.c
@@ -106,7 +106,7 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args)
args->check_syntax = 1;
break;
case 'v':
- mrb_show_version(mrb);
+ if(!args->verbose) mrb_show_version(mrb);
args->verbose = 1;
break;
case 'g':
@@ -215,6 +215,10 @@ main(int argc, char **argv)
}
if (args.initname) {
n = mrb_dump_irep_cfunc(mrb, n, args.debug_info, args.wfp, args.initname);
+ if (n == MRB_DUMP_INVALID_ARGUMENT) {
+ printf("%s: Invalid C language symbol name\n", args.initname);
+ return EXIT_FAILURE;
+ }
}
else {
n = mrb_dump_irep_binary(mrb, n, args.debug_info, args.wfp);
diff --git a/tools/mruby/mruby.c b/tools/mruby/mruby.c
index f554ff4df..b8d82b270 100644
--- a/tools/mruby/mruby.c
+++ b/tools/mruby/mruby.c
@@ -109,7 +109,7 @@ append_cmdline:
}
break;
case 'v':
- mrb_show_version(mrb);
+ if (!args->verbose) mrb_show_version(mrb);
args->verbose = 1;
break;
case '-':