[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]