From dbafada7bed231914a9b6451c70d2fe83c5bfd25 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 20 Mar 2025 13:39:38 +0900 Subject: [PATCH] mruby-io (mrb_file_basename): use "z" specifier for mrb_get_args() --- mrbgems/mruby-io/src/file.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/mrbgems/mruby-io/src/file.c b/mrbgems/mruby-io/src/file.c index 269f9c7d5..3e2935e0e 100644 --- a/mrbgems/mruby-io/src/file.c +++ b/mrbgems/mruby-io/src/file.c @@ -246,10 +246,9 @@ mrb_file_basename(mrb_state *mrb, mrb_value klass) char bname[_MAX_DIR]; char extname[_MAX_EXT]; char buffer[_MAX_DIR + _MAX_EXT]; - mrb_value s; + char *path; - mrb_get_args(mrb, "S", &s); - char *path = mrb_str_to_cstr(mrb, s); + mrb_get_args(mrb, "z", &path); size_t ridx = strlen(path); if (ridx > 0) { ridx--; @@ -265,10 +264,9 @@ mrb_file_basename(mrb_state *mrb, mrb_value klass) snprintf(buffer, _MAX_DIR + _MAX_EXT, "%s%s", bname, extname); return mrb_str_new_cstr(mrb, buffer); #else - mrb_value s; - mrb_get_args(mrb, "S", &s); - char *path = mrb_str_to_cstr(mrb, s); - char *bname; + char *path, *bname; + + mrb_get_args(mrb, "z", &path); if ((bname = basename(path)) == NULL) { mrb_sys_fail(mrb, "basename"); }