From c1ae0656e6b3e33a6f874519aa3ed8f11e755650 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 9 Jun 2005 14:59:10 +0000 Subject: * ext/Win32API/Win32API.c (Win32API_Call): disable global optimization. fixed: [ruby-core:05143] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/Win32API/Win32API.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'ext/Win32API/Win32API.c') diff --git a/ext/Win32API/Win32API.c b/ext/Win32API/Win32API.c index be07b8504f..96ce8c6636 100644 --- a/ext/Win32API/Win32API.c +++ b/ext/Win32API/Win32API.c @@ -53,12 +53,12 @@ Win32API_initialize(self, dllname, proc, import, export) hdll = LoadLibrary(RSTRING(dllname)->ptr); if (!hdll) rb_raise(rb_eRuntimeError, "LoadLibrary: %s\n", RSTRING(dllname)->ptr); - rb_iv_set(self, "__hdll__", Data_Wrap_Struct(rb_cData, 0, Win32API_FreeLibrary, hdll)); - hproc = GetProcAddress(hdll, RSTRING(proc)->ptr); + rb_iv_set(self, "__hdll__", Data_Wrap_Struct(rb_cData, 0, Win32API_FreeLibrary, (void*)hdll)); + hproc = (HANDLE)GetProcAddress(hdll, RSTRING(proc)->ptr); if (!hproc) { str = rb_str_new3(proc); str = rb_str_cat(str, "A", 1); - hproc = GetProcAddress(hdll, RSTRING(str)->ptr); + hproc = (HANDLE)GetProcAddress(hdll, RSTRING(str)->ptr); if (!hproc) rb_raise(rb_eRuntimeError, "GetProcAddress: %s or %s\n", RSTRING(proc)->ptr, RSTRING(str)->ptr); @@ -137,6 +137,9 @@ Win32API_initialize(self, dllname, proc, import, export) return Qnil; } +#ifdef _MSC_VER +#pragma optimize("g", off) +#endif static VALUE Win32API_Call(argc, argv, obj) int argc; -- cgit v1.2.3