diff --git a/ChangeLog b/ChangeLog index 6e96dab06b..c8a2910aed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ Thu Nov 11 09:41:01 2004 Yukihiro Matsumoto - * dir.c (rb_push_glob): Dir.glob should have call its block. + * dir.c (push_braces): was confusing VALUE and char*. + + * dir.c (rb_push_glob): Dir.glob should have called its block. Thu Nov 11 01:52:52 2004 Nobuyoshi Nakada diff --git a/dir.c b/dir.c index f0b1f00f23..87f1252598 100644 --- a/dir.c +++ b/dir.c @@ -1153,19 +1153,18 @@ push_globs(ary, s, flags) } static int -push_braces(ary, s, flags) - VALUE ary; - const char *s; +push_braces(ary, str, flags) + VALUE ary, str; int flags; { VALUE buf; char *b; - const char *p, *t; + const char *s, *p, *t; const char *lbrace, *rbrace; int nest = 0; int status = 0; - p = s; + s = p = RSTRING(str)->ptr; lbrace = rbrace = 0; while (*p) { if (*p == '{') { @@ -1202,7 +1201,7 @@ push_braces(ary, s, flags) } } else { - status = push_globs(ary, s, flags); + status = push_globs(ary, str, flags); } return status;