From 8dfc2f81c000e732ffd1d7bdb7facac3e280c9de Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 9 Jul 2008 02:11:21 +0000 Subject: [PATCH] * dir.c (struct glob_args, rb_glob_caller, rb_glob2, push_pattern), (glob_brace): make consistent prototypes. * dir.c (push_glob): set enc in the caller of rb_glob_caller as well as rb_glob2. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 +++++++++- dir.c | 16 +++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index f1b05109f8..a37be1b82b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Wed Jul 9 11:11:18 2008 Nobuyoshi Nakada + + * dir.c (struct glob_args, rb_glob_caller, rb_glob2, push_pattern), + (glob_brace): make consistent prototypes. + + * dir.c (push_glob): set enc in the caller of rb_glob_caller as well + as rb_glob2. + Wed Jul 9 09:12:11 2008 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c (options): use input_endian. @@ -135,7 +143,7 @@ Sun Jul 6 18:34:35 2008 Masaki Suketa Sun Jul 6 10:12:21 2008 Kouhei Sutou * lib/test/unit/collector/objectspace.rb - (Test::Unit::Collector::ObjectSpace::NAME): fix a typo. + (Test::Unit::Collector::ObjectSpace::NAME): fix a typo. Sun Jul 6 00:56:51 2008 Tanaka Akira diff --git a/dir.c b/dir.c index 15769cea57..cf278dc4a7 100644 --- a/dir.c +++ b/dir.c @@ -1181,7 +1181,7 @@ enum answer { YES, NO, UNKNOWN }; #endif struct glob_args { - void (*func)(const char *, VALUE, rb_encoding *); + void (*func)(const char *, VALUE, void *); const char *path; VALUE value; rb_encoding *enc; @@ -1429,20 +1429,19 @@ ruby_glob(const char *path, int flags, ruby_glob_func *func, VALUE arg) } static int -rb_glob_caller(const char *path, VALUE a, rb_encoding *enc) +rb_glob_caller(const char *path, VALUE a, void *enc) { int status; struct glob_args *args = (struct glob_args *)a; args->path = path; - args->enc = enc; rb_protect(glob_func_caller, a, &status); return status; } static int rb_glob2(const char *path, int flags, - void (*func)(const char *, VALUE, rb_encoding *), VALUE arg, + void (*func)(const char *, VALUE, void *), VALUE arg, rb_encoding* enc) { struct glob_args args; @@ -1467,7 +1466,7 @@ rb_glob(const char *path, void (*func)(const char *, VALUE, void *), VALUE arg) } static void -push_pattern(const char *path, VALUE ary, rb_encoding *enc) +push_pattern(const char *path, VALUE ary, void *enc) { VALUE vpath = rb_tainted_str_new2(path); rb_enc_associate(vpath, enc); @@ -1539,7 +1538,7 @@ struct brace_args { }; static int -glob_brace(const char *path, VALUE val, rb_encoding *enc) +glob_brace(const char *path, VALUE val, void *enc) { struct brace_args *arg = (struct brace_args *)val; @@ -1569,11 +1568,14 @@ static int push_glob(VALUE ary, VALUE str, int flags) { struct glob_args args; + rb_encoding *enc = rb_enc_get(str); args.func = push_pattern; args.value = ary; + args.enc = enc; + return ruby_brace_glob0(RSTRING_PTR(str), flags | GLOB_VERBOSE, - rb_glob_caller, (VALUE)&args, rb_enc_get(str)); + rb_glob_caller, (VALUE)&args, enc); } static VALUE