summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-debugger/tools
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-bin-debugger/tools')
-rwxr-xr-xmrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c13
-rwxr-xr-xmrbgems/mruby-bin-debugger/tools/mrdb/apilist.c28
-rwxr-xr-xmrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c2
-rwxr-xr-xmrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c10
-rwxr-xr-xmrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c10
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) {