diff --git a/ext/win32/resolv/resolv.c b/ext/win32/resolv/resolv.c index 9150df5..00173e5 100644 --- a/ext/win32/resolv/resolv.c +++ b/ext/win32/resolv/resolv.c @@ -247,11 +247,11 @@ InitVM_resolv(void) reg_key_class = regkey; rb_undef_alloc_func(regkey); - rb_define_private_method(singl, "get_dns_server_list", get_dns_server_list, 0); - rb_define_private_method(singl, "tcpip_params", tcpip_params_open, 0); - rb_define_method(regkey, "open", reg_open, 1); - rb_define_method(regkey, "each_key", reg_each_key, 0); - rb_define_method(regkey, "value", reg_value, 1); + rb_define_private_method(singl, "get_dns_server_list", RUBY_METHOD_FUNC(get_dns_server_list), 0); + rb_define_private_method(singl, "tcpip_params", RUBY_METHOD_FUNC(tcpip_params_open), 0); + rb_define_method(regkey, "open", RUBY_METHOD_FUNC(reg_open), 1); + rb_define_method(regkey, "each_key", RUBY_METHOD_FUNC(reg_each_key), 0); + rb_define_method(regkey, "value", RUBY_METHOD_FUNC(reg_value), 1); } void diff --git a/test/resolv/test_win32_config.rb b/test/resolv/test_win32_config.rb index 6167af6..9e5c115 100644 --- a/test/resolv/test_win32_config.rb +++ b/test/resolv/test_win32_config.rb @@ -3,7 +3,8 @@ require 'test/unit' require 'resolv' -if defined?(Win32::Resolve) +# JRuby loads its bundled win32/resolv, which lacks the registry access of the extension. +if defined?(Win32::Resolv) && Win32::Resolv.respond_to?(:tcpip_params, true) class TestWin32Config < Test::Unit::TestCase def test_get_item_property_string # Test reading a string registry value