summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--dir.c3
2 files changed, 5 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a8b2881a63..fe45746e17 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Jul 16 08:56:32 2009 Koichi Sasada <ko1@atdot.net>
+
+ * dir.c (push_glob): re-fix GC problem.
+
Thu Jul 16 08:55:27 2009 Koichi Sasada <ko1@atdot.net>
* common.mk: add method.h.
diff --git a/dir.c b/dir.c
index d438a492a5..f3ffc45f4f 100644
--- a/dir.c
+++ b/dir.c
@@ -1561,14 +1561,13 @@ push_glob(VALUE ary, VALUE str, int flags)
{
struct glob_args args;
rb_encoding *enc = rb_enc_get(str);
- volatile VALUE vstr = str; /* for GC mark */
if (enc == rb_usascii_encoding()) enc = rb_filesystem_encoding();
args.func = push_pattern;
args.value = ary;
args.enc = enc;
- return ruby_brace_glob0(RSTRING_PTR(str), flags | GLOB_VERBOSE,
+ return ruby_brace_glob0(StringValuePtr(str), flags | GLOB_VERBOSE,
rb_glob_caller, (VALUE)&args, enc);
}