From 70b2af3b211f9746a5f9fe6bd76cc0fff3fbe2b0 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 15 Sep 2015 06:15:44 +0000 Subject: win32.c: no xmalloc at sys_init * win32/win32.c (rb_w32_sysinit, rb_w32_readdir): compare by encoding index to get rid of encoding initialization before VM object space allocation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- win32/win32.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'win32/win32.c') diff --git a/win32/win32.c b/win32/win32.c index c3e8ce11e1..fd46ec84bd 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -779,7 +779,7 @@ rb_w32_sysinit(int *argc, char ***argv) // // subvert cmd.exe's feeble attempt at command line parsing // - *argc = w32_cmdvector(GetCommandLineW(), argv, CP_UTF8, rb_utf8_encoding()); + *argc = w32_cmdvector(GetCommandLineW(), argv, CP_UTF8, &OnigEncodingUTF_8); // // Now set up the correct time stuff @@ -2222,11 +2222,12 @@ readdir_internal(DIR *dirp, BOOL (*conv)(const WCHAR *, const WCHAR *, struct di struct direct * rb_w32_readdir(DIR *dirp, rb_encoding *enc) { - if (!enc || enc == rb_ascii8bit_encoding()) { + int idx = rb_enc_to_index(enc); + if (idx == ENCINDEX_ASCII) { const UINT cp = filecp(); return readdir_internal(dirp, win32_direct_conv, &cp); } - else if (enc == rb_utf8_encoding()) { + else if (idx == ENCINDEX_UTF_8) { const UINT cp = CP_UTF8; return readdir_internal(dirp, win32_direct_conv, &cp); } -- cgit v1.2.3