From 8eada2f83661254768573e08ea1c5665b936899c Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 4 Sep 2008 14:43:45 +0000 Subject: * include/ruby/intern.h (rb_file_open_str): declared. * io.c (rb_file_open_str): defined. * ext/zlib/zlib.c (gzfile_s_open): use rb_file_open_str instead of rb_file_open. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 9 +++++++++ ext/zlib/zlib.c | 2 +- include/ruby/intern.h | 1 + io.c | 6 ++++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 24788d0f2..87e48a48e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Thu Sep 4 23:42:42 2008 Tanaka Akira + + * include/ruby/intern.h (rb_file_open_str): declared. + + * io.c (rb_file_open_str): defined. + + * ext/zlib/zlib.c (gzfile_s_open): use rb_file_open_str instead of + rb_file_open. + Thu Sep 4 23:18:55 2008 Tanaka Akira * enc/trans/newline.trans: record newline types met in universal diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index 636ec325c..9bb8f3334 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -2294,7 +2294,7 @@ gzfile_s_open(int argc, VALUE *argv, VALUE klass, const char *mode) } filename = argv[0]; FilePathValue(filename); - io = rb_file_open(RSTRING_PTR(filename), mode); + io = rb_file_open_str(filename, mode); argv[0] = io; return rb_gzfile_s_wrap(argc, argv, klass); diff --git a/include/ruby/intern.h b/include/ruby/intern.h index 95e70c52b..a2010bb32 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -387,6 +387,7 @@ VALUE rb_io_print(int, VALUE*, VALUE); VALUE rb_io_puts(int, VALUE*, VALUE); VALUE rb_io_fdopen(int, int, const char*); VALUE rb_file_open(const char*, const char*); +VALUE rb_file_open_str(VALUE, const char*); VALUE rb_gets(void); void rb_write_error(const char*); void rb_write_error2(const char*, long); diff --git a/io.c b/io.c index 4c8f41a92..ced821a6b 100644 --- a/io.c +++ b/io.c @@ -4050,6 +4050,12 @@ rb_file_open_internal(VALUE io, VALUE filename, const char *mode) 0666); } +VALUE +rb_file_open_str(VALUE fname, const char *mode) +{ + return rb_file_open_internal(io_alloc(rb_cFile), fname, mode); +} + VALUE rb_file_open(const char *fname, const char *mode) { -- cgit