diff options
Diffstat (limited to 'mrbgems/mruby-bin-debugger/tools')
| -rwxr-xr-x | mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c | 13 | ||||
| -rwxr-xr-x | mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c | 28 | ||||
| -rwxr-xr-x | mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c | 2 | ||||
| -rwxr-xr-x | mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c | 10 | ||||
| -rwxr-xr-x | mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c | 10 |
5 files changed, 23 insertions, 40 deletions
diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c b/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c index f1bf34a06..610a5db6f 100755 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c @@ -203,9 +203,6 @@ mrb_debug_set_break_line( mrb_state *mrb, mrb_debug_context *dbg, const char *fi } set_file = mrb_malloc(mrb, strlen(file) + 1); - if(set_file == NULL) { - return MRB_DEBUG_NOBUF; - } index = dbg->bpnum; dbg->bp[index].bpno = dbg->next_bpno; @@ -243,10 +240,6 @@ mrb_debug_set_break_method( mrb_state *mrb, mrb_debug_context *dbg, const char * if(class_name != NULL) { set_class = mrb_malloc(mrb, strlen(class_name) + 1); - if(set_class == NULL) { - return MRB_DEBUG_NOBUF; - } - strncpy(set_class, class_name, strlen(class_name) + 1); } else { @@ -254,12 +247,6 @@ mrb_debug_set_break_method( mrb_state *mrb, mrb_debug_context *dbg, const char * } set_method = mrb_malloc(mrb, strlen(method_name) + 1); - if(set_method == NULL) { - if(set_class != NULL) { - mrb_free(mrb, (void*)set_class); - } - return MRB_DEBUG_NOBUF; - } strncpy(set_method, method_name, strlen(method_name) + 1); diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c b/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c index 734f03f0a..03846cd50 100755 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c @@ -45,18 +45,18 @@ build_path(mrb_state *mrb, const char *dir, const char *base) len = strlen(base) + 1; if (strcmp(dir, ".")) { - len += strlen(dir) + strlen("/"); + len += strlen(dir) + sizeof("/") - 1; } - if ((path = mrb_malloc(mrb, len)) != NULL) { - memset(path, 0, len); + path = mrb_malloc(mrb, len); + memset(path, 0, len); - if (strcmp(dir, ".")) { - strcat(path, dir); - strcat(path, "/"); - } - strcat(path, base); + if (strcmp(dir, ".")) { + strcat(path, dir); + strcat(path, "/"); } + strcat(path, base); + return path; } @@ -73,10 +73,10 @@ dirname(mrb_state *mrb, const char *path) p = strrchr(path, '/'); len = p != NULL ? p - path : strlen(path); - if ((dir = mrb_malloc(mrb, len + 1)) != NULL) { - strncpy(dir, path, len); - dir[len] = '\0'; - } + dir = mrb_malloc(mrb, len + 1); + strncpy(dir, path, len); + dir[len] = '\0'; + return dir; } @@ -85,9 +85,7 @@ source_file_new(mrb_state *mrb, mrb_debug_context *dbg, char *filename) { source_file *file = NULL; - if ((file = mrb_malloc(mrb, sizeof(source_file))) == NULL) { - return NULL; - } + file = mrb_malloc(mrb, sizeof(source_file)); memset(file, '\0', sizeof(source_file)); file->fp = fopen(filename, "rb"); diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c b/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c index 9759badfe..d4ec3d5f8 100755 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c @@ -256,7 +256,7 @@ parse_breakcommand(mrdb_state *mrdb, const char **file, uint32_t *line, char **c } args = mrdb->words[1]; - if((body = strchr(args, ':')) == NULL) { + if((body = strrchr(args, ':')) == NULL) { body = args; type = check_bptype(body); } else { diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c b/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c index 6520af46e..b40915909 100755 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c @@ -255,11 +255,11 @@ replace_ext(mrb_state *mrb, const char *filename, const char *ext) len = strlen(filename); } - if ((s = mrb_malloc(mrb, len + strlen(ext) + 1)) != NULL) { - memset(s, '\0', len + strlen(ext) + 1); - strncpy(s, filename, len); - strcat(s, ext); - } + s = mrb_malloc(mrb, len + strlen(ext) + 1); + memset(s, '\0', len + strlen(ext) + 1); + strncpy(s, filename, len); + strcat(s, ext); + return s; } diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c b/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c index ca120dc51..da235fad8 100755 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c @@ -19,8 +19,6 @@ #include "apibreak.h" #include "apilist.h" -void mrb_show_version(mrb_state *); -void mrb_show_copyright(mrb_state *); void mrdb_state_free(mrb_state *); static mrb_debug_context *_debug_context = NULL; @@ -275,7 +273,7 @@ get_command(mrb_state *mrb, mrdb_state *mrdb) if (i == 0 && feof(stdin)) { clearerr(stdin); strcpy(mrdb->command, "quit"); - i += strlen("quit"); + i += sizeof("quit") - 1; } if (i == MAX_COMMAND_LINE) { @@ -572,7 +570,7 @@ mrb_code_fetch_hook(mrb_state *mrb, mrb_irep *irep, mrb_code *pc, mrb_value *reg switch (dbg->xm) { case DBG_STEP: case DBG_NEXT: // temporary - if (dbg->prvfile == file && dbg->prvline == line) { + if (!file || (dbg->prvfile == file && dbg->prvline == line)) { return; } dbg->method_bpno = 0; @@ -652,13 +650,13 @@ main(int argc, char **argv) mrb_debug_context* dbg_backup; debug_command *cmd; + l_restart: + if (mrb == NULL) { fputs("Invalid mrb_state, exiting mruby\n", stderr); return EXIT_FAILURE; } - l_restart: - /* parse command parameters */ n = parse_args(mrb, argc, argv, &args); if (n == EXIT_FAILURE || args.rfp == NULL) { |
