ruby-changes:11403
From: nobu <ko1@a...>
Date: Sat, 21 Mar 2009 08:22:39 +0900 (JST)
Subject: [ruby-changes:11403] Ruby:r23025 (trunk): * win32/win32.c (rb_w32_conv_from_wstr): added.
nobu 2009-03-21 08:22:34 +0900 (Sat, 21 Mar 2009) New Revision: 23025 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23025 Log: * win32/win32.c (rb_w32_conv_from_wstr): added. Modified files: trunk/win32/win32.c Index: win32/win32.c =================================================================== --- win32/win32.c (revision 23024) +++ win32/win32.c (revision 23025) @@ -5013,59 +5013,3 @@ return f; } #endif - -BOOL -rb_w32_get_special_directory(int n, WCHAR *path) -{ - if (!get_special_folder(n, path)) - return FALSE; - regulate_path(path); - return TRUE; -} - -static VALUE -w32_get_special_directory(VALUE self, VALUE num) -{ - VALUE str; - int n = NUM2INT(num); - WCHAR path[_MAX_PATH]; - - if (!rb_w32_get_special_directory(n, path)) { - rb_sys_fail(0); - } - str = rb_w32_conv_from_wchar(path, rb_filesystem_encoding()); - OBJ_TAINT(str); - return str; -} - -static VALUE -w32_get_system_directory(VALUE self) -{ - VALUE str; - WCHAR path[_MAX_PATH]; - - if (!get_system_directory(path, numberof(path))) { - rb_sys_fail(0); - } - regulate_path(path); - str = rb_w32_conv_from_wchar(path, rb_filesystem_encoding()); - OBJ_TAINT(str); - return str; -} - -void -Init_win32(void) -{ - VALUE mWin32 = rb_define_module("Win32"); - VALUE dir = rb_define_module_under(mWin32, "Dir"); - rb_define_module_function(dir, "special", w32_get_special_directory, 1); - rb_define_module_function(dir, "system", w32_get_system_directory, 0); - rb_define_const(dir, "LOCAL_APPDATA", UINT2NUM(CSIDL_LOCAL_APPDATA)); - rb_define_const(dir, "COMMON_APPDATA", UINT2NUM(CSIDL_COMMON_APPDATA)); - rb_define_const(dir, "WINDOWS", UINT2NUM(CSIDL_WINDOWS)); - rb_define_const(dir, "SYSTEM", UINT2NUM(CSIDL_SYSTEM)); - rb_define_const(dir, "PROFILE", UINT2NUM(CSIDL_PROFILE)); - rb_define_const(dir, "PERSONAL", UINT2NUM(CSIDL_PERSONAL)); - rb_define_const(mWin32, "Version", UINT2NUM(rb_w32_osver())); - rb_ivar_set(rb_mKernel, rb_intern("@__win32__"), mWin32); -} -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/