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 + + * dir.c (push_glob): re-fix GC problem. + Thu Jul 16 08:55:27 2009 Koichi Sasada * 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); }