diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/mirb/mirb.c | 2 | ||||
| -rw-r--r-- | tools/mrbc/mrbc.c | 6 | ||||
| -rw-r--r-- | tools/mruby/mruby.c | 2 |
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 '-': |
