diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-26 01:58:20 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-26 01:58:20 +0000 |
commit | 2c288bf91f04f93476d2794dff996979ccdfb4cf (patch) | |
tree | dfd3d6152626b7d064885cbdd7f2865ea7a3b200 /io.c | |
parent | 2276b2f9044a7a53d9058145ac9d35261524cf0a (diff) |
* include/ruby/win32.h (rb_w32_wopen): prototype forgotten.
* io.c (rb_sysopen_internal): shouldn't replace undefined chars in this
case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 14 |
1 files changed, 4 insertions, 10 deletions
@@ -4185,7 +4185,8 @@ sysopen_func(void *ptr) struct sysopen_struct *data = ptr; #ifdef _WIN32 if (data->wchar) - return (VALUE)rb_w32_wopen(data->fname, data->oflags, data->perm); + return (VALUE)rb_w32_wopen((WCHAR *)data->fname, data->oflags, + data->perm); #endif return (VALUE)open(data->fname, data->oflags, data->perm); } @@ -4207,15 +4208,8 @@ rb_sysopen_internal(VALUE fname, int oflags, mode_t perm) utf16 = NULL; } if (utf16) { - VALUE wfname; - VALUE opthash = rb_hash_new(); - int ecflags; - VALUE ecopts; - rb_hash_aset(opthash, ID2SYM(rb_intern("undef")), - ID2SYM(rb_intern("replace"))); - ecflags = rb_econv_prepare_opts(opthash, &ecopts); - wfname = rb_str_encode(fname, rb_enc_from_encoding(utf16), ecflags, - ecopts); + VALUE wfname = rb_str_encode(fname, rb_enc_from_encoding(utf16), 0, + Qnil); rb_enc_str_buf_cat(wfname, "", 1, utf16); /* workaround */ data.fname = RSTRING_PTR(wfname); data.wchar = 1; |