From 12fc299a84aa96e5efd1f77e81b28631ba988ee5 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 17 Sep 2009 21:47:14 +0000 Subject: [PATCH] * dir.c (push_glob): str should be a string always. * dir.c (rb_push_glob, dir_globs): use #to_path to convert non- string values. cf. [ruby-dev:39345] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ dir.c | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index fbe80dbc8a..14a934a761 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Sep 18 06:47:13 2009 Nobuyoshi Nakada + + * dir.c (push_glob): str should be a string always. + + * dir.c (rb_push_glob, dir_globs): use #to_path to convert non- + string values. cf. [ruby-dev:39345] + Fri Sep 18 06:36:51 2009 Nobuyoshi Nakada * lib/mkmf.rb (rm_f, rm_rf): FileUtils.rm can take an array. diff --git a/dir.c b/dir.c index 4e20230a65..e9f9d6116a 100644 --- a/dir.c +++ b/dir.c @@ -1613,7 +1613,7 @@ push_glob(VALUE ary, VALUE str, int flags) args.value = ary; args.enc = enc; - return ruby_brace_glob0(StringValuePtr(str), flags | GLOB_VERBOSE, + return ruby_brace_glob0(RSTRING_PTR(str), flags | GLOB_VERBOSE, rb_glob_caller, (VALUE)&args, enc); } @@ -1623,7 +1623,7 @@ rb_push_glob(VALUE str, int flags) /* '\0' is delimiter */ long offset = 0; VALUE ary; - StringValue(str); + FilePathValue(str); ary = rb_ary_new(); while (offset < RSTRING_LEN(str)) { @@ -1653,7 +1653,7 @@ dir_globs(long argc, VALUE *argv, int flags) for (i = 0; i < argc; ++i) { int status; VALUE str = argv[i]; - SafeStringValue(str); + FilePathValue(str); status = push_glob(ary, str, flags); if (status) GLOB_JUMP_TAG(status); }