ruby-changes:6677
From: nobu <ko1@a...>
Date: Thu, 24 Jul 2008 07:02:00 +0900 (JST)
Subject: [ruby-changes:6677] Ruby:r18192 (ruby_1_8, trunk): * ext/win32ole/win32ole.c: got rid of improper casts.
nobu 2008-07-24 07:01:36 +0900 (Thu, 24 Jul 2008) New Revision: 18192 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18192 Log: * ext/win32ole/win32ole.c: got rid of improper casts. Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/ext/win32ole/win32ole.c trunk/ChangeLog trunk/ext/win32ole/win32ole.c Index: ChangeLog =================================================================== --- ChangeLog (revision 18191) +++ ChangeLog (revision 18192) @@ -1,3 +1,7 @@ +Thu Jul 24 07:01:13 2008 Nobuyoshi Nakada <nobu@r...> + + * ext/win32ole/win32ole.c: got rid of improper casts. + Wed Jul 23 23:19:15 2008 Yusuke Endoh <mame@t...> * test/socket/test_tcp.rb (test_recvfrom): replace an irrelevant test Index: ext/win32ole/win32ole.c =================================================================== --- ext/win32ole/win32ole.c (revision 18191) +++ ext/win32ole/win32ole.c (revision 18192) @@ -993,7 +993,7 @@ case CP_MACCP: case CP_THREAD_ACP: if (!pGetCPInfoEx) { - pGetCPInfoEx = (BOOL (*)(UINT, DWORD, LPVOID)) + pGetCPInfoEx = (BOOL (*)(UINT, DWORD, struct myCPINFOEX *)) GetProcAddress(GetModuleHandle("kernel32"), "GetCPInfoEx"); if (!pGetCPInfoEx) { pGetCPInfoEx = (void*)-1; @@ -1289,7 +1289,8 @@ return obj; } -static void * get_ptr_of_variant(VARIANT *pvar) +static void * +get_ptr_of_variant(VARIANT *pvar) { switch(V_VT(pvar)) { case VT_UI1: @@ -1766,13 +1767,13 @@ if (((vt & ~VT_BYREF) == (VT_ARRAY | VT_UI1)) && TYPE(val) == T_STRING) { long len = RSTRING_LEN(val); - char *pdest = NULL; + void *pdest = NULL; SAFEARRAY *p = NULL; SAFEARRAY *psa = SafeArrayCreateVector(VT_UI1, 0, len); if (!psa) { rb_raise(rb_eRuntimeError, "fail to SafeArrayCreateVector"); } - hr = SafeArrayAccessData(psa, (void **)&pdest); + hr = SafeArrayAccessData(psa, &pdest); if (SUCCEEDED(hr)) { memcpy(pdest, RSTRING_PTR(val), len); SafeArrayUnaccessData(psa); @@ -2150,10 +2151,10 @@ case VT_UNKNOWN: { - /* get IDispatch interface from IUnknown interface */ IUnknown *punk; IDispatch *pDispatch; + void *p; HRESULT hr; if (V_ISBYREF(pvar)) @@ -2162,9 +2163,9 @@ punk = V_UNKNOWN(pvar); if(punk != NULL) { - hr = punk->lpVtbl->QueryInterface(punk, &IID_IDispatch, - (void **)&pDispatch); + hr = punk->lpVtbl->QueryInterface(punk, &IID_IDispatch, &p); if(SUCCEEDED(hr)) { + pDispatch = p; obj = create_win32ole_object(cWIN32OLE, pDispatch, 0, 0); } } @@ -2529,6 +2530,7 @@ IBindCtx *pBindCtx; IMoniker *pMoniker; IDispatch *pDispatch; + void *p; HRESULT hr; OLECHAR *pbuf; ULONG eaten = 0; @@ -2551,8 +2553,8 @@ StringValuePtr(moniker)); } hr = pMoniker->lpVtbl->BindToObject(pMoniker, pBindCtx, NULL, - &IID_IDispatch, - (void**)&pDispatch); + &IID_IDispatch, &p); + pDispatch = p; OLE_RELEASE(pMoniker); OLE_RELEASE(pBindCtx); @@ -2582,6 +2584,7 @@ CLSID clsid; OLECHAR *pBuf; IDispatch *pDispatch; + void *p; IUnknown *pUnknown; rb_secure(4); @@ -2610,8 +2613,8 @@ ole_raise(hr, eWIN32OLERuntimeError, "OLE server `%s' not running", StringValuePtr(svr_name)); } - hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IDispatch, - (void **)&pDispatch); + hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IDispatch, &p); + pDispatch = p; if(FAILED(hr)) { OLE_RELEASE(pUnknown); ole_raise(hr, eWIN32OLERuntimeError, @@ -3085,6 +3088,7 @@ CLSID clsid; OLECHAR *pBuf; IDispatch *pDispatch; + void *p; rb_secure(4); rb_call_super(0, 0); @@ -3117,13 +3121,14 @@ /* get IDispatch interface */ hr = CoCreateInstance(&clsid, NULL, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, - &IID_IDispatch, (void**)&pDispatch); + &IID_IDispatch, &p); + pDispatch = p; if(FAILED(hr)) { ole_raise(hr, eWIN32OLERuntimeError, "failed to create WIN32OLE object from `%s'", StringValuePtr(svr_name)); } - + ole_set_member(self, pDispatch); return self; } @@ -3863,6 +3868,7 @@ VARIANT result; HRESULT hr; IEnumVARIANT *pEnum = NULL; + void *p; RETURN_ENUMERATOR(self, 0, 0); @@ -3885,14 +3891,17 @@ ole_raise(hr, eWIN32OLERuntimeError, "failed to get IEnum Interface"); } - if (V_VT(&result) == VT_UNKNOWN) + if (V_VT(&result) == VT_UNKNOWN) { hr = V_UNKNOWN(&result)->lpVtbl->QueryInterface(V_UNKNOWN(&result), &IID_IEnumVARIANT, - (void**)&pEnum); - else if (V_VT(&result) == VT_DISPATCH) + &p); + pEnum = p; + } else if (V_VT(&result) == VT_DISPATCH) { hr = V_DISPATCH(&result)->lpVtbl->QueryInterface(V_DISPATCH(&result), &IID_IEnumVARIANT, - (void**)&pEnum); + &p); + pEnum = p; + } if (FAILED(hr) || !pEnum) { VariantClear(&result); ole_raise(hr, rb_eRuntimeError, "failed to get IEnum Interface"); @@ -4358,6 +4367,7 @@ IID iid; struct oledata *pole; IDispatch *pDispatch; + void *p; pBuf = ole_vstr2wc(str_iid); hr = CLSIDFromString(pBuf, &iid); @@ -4374,13 +4384,14 @@ } hr = pole->pDispatch->lpVtbl->QueryInterface(pole->pDispatch, &iid, - (void **)&pDispatch); + &p); if(FAILED(hr)) { ole_raise(hr, eWIN32OLERuntimeError, "failed to get interface `%s'", StringValuePtr(str_iid)); } + pDispatch = p; return create_win32ole_object(cWIN32OLE, pDispatch, 0, 0); } @@ -4644,13 +4655,14 @@ { struct oledata *pole; IPersistMemory *pPersistMemory; + void *p; HRESULT hr = S_OK; OLEData_Get_Struct(self, pole); - hr = pole->pDispatch->lpVtbl->QueryInterface(pole->pDispatch, &IID_IPersistMemory, - (void **)&pPersistMemory); + hr = pole->pDispatch->lpVtbl->QueryInterface(pole->pDispatch, &IID_IPersistMemory, &p); + pPersistMemory = p; if (SUCCEEDED(hr)) { hr = pPersistMemory->lpVtbl->InitNew(pPersistMemory); OLE_RELEASE(pPersistMemory); @@ -7851,6 +7863,7 @@ HRESULT hr; IProvideClassInfo2 *pProvideClassInfo2; IProvideClassInfo *pProvideClassInfo; + void *p; IDispatch *pDispatch; ITypeInfo *pTypeInfo; @@ -7864,8 +7877,9 @@ pDispatch = pole->pDispatch; hr = pDispatch->lpVtbl->QueryInterface(pDispatch, &IID_IProvideClassInfo2, - (void**)&pProvideClassInfo2); + &p); if (SUCCEEDED(hr)) { + pProvideClassInfo2 = p; hr = pProvideClassInfo2->lpVtbl->GetGUID(pProvideClassInfo2, GUIDKIND_DEFAULT_SOURCE_DISP_IID, piid); @@ -7879,9 +7893,9 @@ } hr = pDispatch->lpVtbl->QueryInterface(pDispatch, &IID_IProvideClassInfo, - (void**)&pProvideClassInfo); + &p); if (SUCCEEDED(hr)) { - + pProvideClassInfo = p; hr = pProvideClassInfo->lpVtbl->GetClassInfo(pProvideClassInfo, &pTypeInfo); OLE_RELEASE(pProvideClassInfo); @@ -7964,6 +7978,7 @@ IEVENTSINKOBJ *pIEV; DWORD dwCookie; struct oleeventdata *poleev; + void *p; rb_secure(4); rb_scan_args(argc, argv, "11", &ole, &itf); @@ -7992,12 +8007,13 @@ pDispatch = pole->pDispatch; hr = pDispatch->lpVtbl->QueryInterface(pDispatch, &IID_IConnectionPointContainer, - (void **)&pContainer); + &p); if (FAILED(hr)) { OLE_RELEASE(pTypeInfo); ole_raise(hr, rb_eRuntimeError, "failed to query IConnectionPointContainer"); } + pContainer = p; hr = pContainer->lpVtbl->FindConnectionPoint(pContainer, &iid, Index: ruby_1_8/ext/win32ole/win32ole.c =================================================================== --- ruby_1_8/ext/win32ole/win32ole.c (revision 18191) +++ ruby_1_8/ext/win32ole/win32ole.c (revision 18192) @@ -1176,10 +1176,10 @@ case VT_UNKNOWN: { - /* get IDispatch interface from IUnknown interface */ IUnknown *punk; IDispatch *pDispatch; + void *p; HRESULT hr; if (V_ISBYREF(pvar)) @@ -1188,9 +1188,9 @@ punk = V_UNKNOWN(pvar); if(punk != NULL) { - hr = punk->lpVtbl->QueryInterface(punk, &IID_IDispatch, - (void **)&pDispatch); + hr = punk->lpVtbl->QueryInterface(punk, &IID_IDispatch, &p); if(SUCCEEDED(hr)) { + pDispatch = p; obj = create_win32ole_object(cWIN32OLE, pDispatch, 0, 0); } } @@ -1553,6 +1553,7 @@ IBindCtx *pBindCtx; IMoniker *pMoniker; IDispatch *pDispatch; + void *p; HRESULT hr; OLECHAR *pbuf; ULONG eaten = 0; @@ -1575,8 +1576,8 @@ StringValuePtr(moniker)); } hr = pMoniker->lpVtbl->BindToObject(pMoniker, pBindCtx, NULL, - &IID_IDispatch, - (void**)&pDispatch); + &IID_IDispatch, &p); + pDispatch = p; OLE_RELEASE(pMoniker); OLE_RELEASE(pBindCtx); @@ -1609,6 +1610,7 @@ CLSID clsid; OLECHAR *pBuf; IDispatch *pDispatch; + void *p; IUnknown *pUnknown; rb_secure(4); @@ -1637,8 +1639,8 @@ ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, "OLE server `%s' not running", StringValuePtr(svr_name)); } - hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IDispatch, - (void **)&pDispatch); + hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IDispatch, &p); + pDispatch = p; if(FAILED(hr)) { OLE_RELEASE(pUnknown); ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, @@ -1988,6 +1990,7 @@ CLSID clsid; OLECHAR *pBuf; IDispatch *pDispatch; + void *p; rb_secure(4); rb_call_super(0, 0); @@ -2020,13 +2023,14 @@ /* get IDispatch interface */ hr = CoCreateInstance(&clsid, NULL, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, - &IID_IDispatch, (void**)&pDispatch); + &IID_IDispatch, &p); + pDispatch = p; if(FAILED(hr)) { ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, "failed to create WIN32OLE object from `%s'", StringValuePtr(svr_name)); } - + ole_set_member(self, pDispatch); return self; } @@ -2748,6 +2752,7 @@ VARIANT result; HRESULT hr; IEnumVARIANT *pEnum = NULL; + void *p; VariantInit(&result); dispParams.rgvarg = NULL; @@ -2768,14 +2773,17 @@ ole_raise(hr, eWIN32OLE_RUNTIME_ERROR, "failed to get IEnum Interface"); } - if (V_VT(&result) == VT_UNKNOWN) + if (V_VT(&result) == VT_UNKNOWN) { hr = V_UNKNOWN(&result)->lpVtbl->QueryInterface(V_UNKNOWN(&result), &IID_IEnumVARIANT, - (void**)&pEnum); - else if (V_VT(&result) == VT_DISPATCH) + &p); + pEnum = p; + } else if (V_VT(&result) == VT_DISPATCH) { hr = V_DISPATCH(&result)->lpVtbl->QueryInterface(V_DISPATCH(&result), &IID_IEnumVARIANT, - (void**)&pEnum); + &p); + pEnum = p; + } if (FAILED(hr) || !pEnum) { VariantClear(&result); ole_raise(hr, rb_eRuntimeError, "failed to get IEnum Interface"); @@ -3407,13 +3415,14 @@ { struct oledata *pole; IPersistMemory *pPersistMemory; + void *p; HRESULT hr = S_OK; OLEData_Get_Struct(self, pole); - hr = pole->pDispatch->lpVtbl->QueryInterface(pole->pDispatch, &IID_IPersistMemory, - (void **)&pPersistMemory); + hr = pole->pDispatch->lpVtbl->QueryInterface(pole->pDispatch, &IID_IPersistMemory, &p); + pPersistMemory = p; if (SUCCEEDED(hr)) { hr = pPersistMemory->lpVtbl->InitNew(pPersistMemory); OLE_RELEASE(pPersistMemory); @@ -5966,6 +5975,7 @@ HRESULT hr; IProvideClassInfo2 *pProvideClassInfo2; IProvideClassInfo *pProvideClassInfo; + void *p; IDispatch *pDispatch; ITypeInfo *pTypeInfo; @@ -5980,8 +5990,9 @@ pDispatch = pole->pDispatch; hr = pDispatch->lpVtbl->QueryInterface(pDispatch, &IID_IProvideClassInfo2, - (void**)&pProvideClassInfo2); + &p); if (SUCCEEDED(hr)) { + pProvideClassInfo2 = p; hr = pProvideClassInfo2->lpVtbl->GetGUID(pProvideClassInfo2, GUIDKIND_DEFAULT_SOURCE_DISP_IID, piid); @@ -5989,10 +6000,10 @@ return find_iid(ole, NULL, piid, ppTypeInfo); } hr = pDispatch->lpVtbl->QueryInterface(pDispatch, - &IID_IProvideClassInfo, - (void**)&pProvideClassInfo); + &IID_IProvideClassInfo, &p); if (FAILED(hr)) return hr; + pProvideClassInfo = p; hr = pProvideClassInfo->lpVtbl->GetClassInfo(pProvideClassInfo, &pTypeInfo); @@ -6119,6 +6130,7 @@ IEVENTSINKOBJ *pIEV; DWORD dwCookie = 0; struct oleeventdata *poleev; + void *p; rb_secure(4); rb_scan_args(argc, argv, "11", &ole, &itf); @@ -6147,12 +6159,13 @@ pDispatch = pole->pDispatch; hr = pDispatch->lpVtbl->QueryInterface(pDispatch, &IID_IConnectionPointContainer, - (void**)&pContainer); + &p); if (FAILED(hr)) { OLE_RELEASE(pTypeInfo); ole_raise(hr, rb_eRuntimeError, "failed to query IConnectionPointContainer"); } + pContainer = p; hr = pContainer->lpVtbl->FindConnectionPoint(pContainer, &iid, Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 18191) +++ ruby_1_8/ChangeLog (revision 18192) @@ -1,3 +1,7 @@ +Thu Jul 24 07:01:13 2008 Nobuyoshi Nakada <nobu@r...> + + * ext/win32ole/win32ole.c: got rid of improper casts. + Wed Jul 23 18:27:46 2008 Nobuyoshi Nakada <nobu@r...> * ext/tk/{stubs,tcltklib}.c, ext/tk/tkutil/tkutil.c: fix warnings -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/