From aaccbfeda10964119766c69949e563c5430f2b4d Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 24 Sep 2013 03:51:14 +0000 Subject: win32/registry.rb: fix runtime errors * ext/win32/lib/win32/registry.rb (Win32::Registry::API): need Constants. * ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumValue): size of the name is in WCHARs, not in bytes git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ ext/win32/lib/win32/registry.rb | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a489c8a315..fbc3ccb189 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Tue Sep 24 12:51:07 2013 Nobuyoshi Nakada + + * ext/win32/lib/win32/registry.rb (Win32::Registry::API): need + Constants. + + * ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumValue): + size of the name is in WCHARs, not in bytes + Mon Sep 23 22:16:09 2013 Nobuyoshi Nakada * enc/encdb.c, enc/utf_16_32.h (ENC_DUMMY_UNICODE): Unicode with BOM diff --git a/ext/win32/lib/win32/registry.rb b/ext/win32/lib/win32/registry.rb index 6c678e49db..0b4e5870a5 100644 --- a/ext/win32/lib/win32/registry.rb +++ b/ext/win32/lib/win32/registry.rb @@ -212,6 +212,7 @@ For detail, see the MSDN[http://msdn.microsoft.com/library/en-us/sysinfo/base/pr # Win32 APIs # module API + include Constants extend Importer dlload "advapi32.dll" [ @@ -289,7 +290,7 @@ For detail, see the MSDN[http://msdn.microsoft.com/library/en-us/sysinfo/base/pr name = WCHAR_NUL * Constants::MAX_KEY_LENGTH size = packdw(Constants::MAX_KEY_LENGTH) check RegEnumValueW.call(hkey, index, name, size, 0, 0, 0, 0) - name[0, unpackdw(size)/WCHAR_SIZE].encode + name[0, unpackdw(size)].encode end def EnumKey(hkey, index) -- cgit v1.2.3