From 7bdc709da01d3b660b3e37a28527e6c8944c3b02 Mon Sep 17 00:00:00 2001 From: Hiroshi Mimaki Date: Fri, 4 Aug 2017 17:25:03 +0900 Subject: Fixed a invalid source path name on mruby debugger. --- mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c b/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c index 33e9575bf..8aaa30bcd 100644 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c @@ -174,9 +174,13 @@ mrb_debug_get_source(mrb_state *mrb, mrdb_state *mrdb, const char *srcpath, cons FILE *fp; const char *search_path[3]; char *path = NULL; + const char *srcname = strrchr(filename, '/'); + + if (srcname) srcname++; + else srcname = filename; search_path[0] = srcpath; - search_path[1] = dirname(mrb, mrb_debug_get_filename(mrdb->dbg->root_irep, 0)); + search_path[1] = dirname(mrb, mrb_debug_get_filename(mrdb->dbg->irep, 0)); search_path[2] = "."; for (i = 0; i < 3; i++) { @@ -184,7 +188,7 @@ mrb_debug_get_source(mrb_state *mrb, mrdb_state *mrdb, const char *srcpath, cons continue; } - if ((path = build_path(mrb, search_path[i], filename)) == NULL) { + if ((path = build_path(mrb, search_path[i], srcname)) == NULL) { continue; } -- cgit v1.2.3