From 27863a0ccd4350670b246e35085f97a9de7c057e Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 10 Aug 2016 11:11:36 +0000 Subject: [PATCH] win32/resolv: fix for cygwin * ext/win32/resolv/resolv.c: needs windows.h for iphlpapi.h on cygwin. [ruby-core:76791] [Bug #12663] * ext/win32/resolv/resolv.c (w32error_make_error): use Win32::Resolv::Error, an alias of Win32::Registry::Error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/win32/resolv/resolv.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/ext/win32/resolv/resolv.c b/ext/win32/resolv/resolv.c index 436d62cc7b..f19243ccc1 100644 --- a/ext/win32/resolv/resolv.c +++ b/ext/win32/resolv/resolv.c @@ -1,20 +1,16 @@ #include #include +#include +#ifndef NTDDI_VERSION +#define NTDDI_VERSION 0x06000000 +#endif #include -static VALUE -w32error_init(VALUE self, VALUE code) -{ - VALUE str = rb_str_new_cstr(rb_w32_strerror(NUM2INT(code))); - rb_ivar_set(self, rb_intern("@code"), code); - return rb_call_super(1, &str); -} - static VALUE w32error_make_error(DWORD e) { VALUE code = ULONG2NUM(e); - return rb_class_new_instance(1, &code, rb_path2class("Win32::Error")); + return rb_class_new_instance(1, &code, rb_path2class("Win32::Resolv::Error")); } static void @@ -59,8 +55,6 @@ InitVM_resolv(void) VALUE mWin32 = rb_define_module("Win32"); VALUE resolv = rb_define_module_under(mWin32, "Resolv"); VALUE singl = rb_singleton_class(resolv); - VALUE eclass = rb_define_class_under(mWin32, "Error", rb_eStandardError); - rb_define_method(eclass, "initialize", w32error_init, 1); rb_define_private_method(singl, "get_dns_server_list", get_dns_server_list, 0); }