[PATCH 2/6] ole32: Get rid of redundant pointer check.

Nikolay Sivov nsivov at codeweavers.com
Thu Jan 30 05:53:42 CST 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/ole32/pointermoniker.c | 20 ++++++++------------
 dlls/ole32/tests/moniker.c  |  3 +++
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/dlls/ole32/pointermoniker.c b/dlls/ole32/pointermoniker.c
index a16a56a098..bb578a6f61 100644
--- a/dlls/ole32/pointermoniker.c
+++ b/dlls/ole32/pointermoniker.c
@@ -58,20 +58,18 @@ static PointerMonikerImpl *impl_from_IMarshal(IMarshal *iface)
 }
 
 static PointerMonikerImpl *unsafe_impl_from_IMoniker(IMoniker *iface);
-static HRESULT WINAPI
-PointerMonikerImpl_QueryInterface(IMoniker* iface,REFIID riid,void** ppvObject)
+
+static HRESULT WINAPI PointerMonikerImpl_QueryInterface(IMoniker *iface, REFIID riid, void **ppvObject)
 {
-    PointerMonikerImpl *This = impl_from_IMoniker(iface);
+    PointerMonikerImpl *moniker = impl_from_IMoniker(iface);
 
-    TRACE("(%p,%s,%p)\n",This,debugstr_guid(riid),ppvObject);
+    TRACE("%p, %s, %p.\n", iface, debugstr_guid(riid), ppvObject);
 
-    if ( (This==0) || (ppvObject==0) )
-	return E_INVALIDARG;
+    if (!ppvObject)
+        return E_INVALIDARG;
 
-    /* Initialize the return parameter */
     *ppvObject = 0;
 
-    /* Compare the riid with the interface IDs implemented by this object.*/
     if (IsEqualIID(&IID_IUnknown, riid) ||
         IsEqualIID(&IID_IPersist, riid) ||
         IsEqualIID(&IID_IPersistStream, riid) ||
@@ -80,13 +78,11 @@ PointerMonikerImpl_QueryInterface(IMoniker* iface,REFIID riid,void** ppvObject)
         *ppvObject = iface;
     }
     else if (IsEqualIID(&IID_IMarshal, riid))
-        *ppvObject = &This->IMarshal_iface;
+        *ppvObject = &moniker->IMarshal_iface;
 
-    /* Check that we obtained an interface.*/
-    if ((*ppvObject)==0)
+    if (!*ppvObject)
         return E_NOINTERFACE;
 
-    /* always increase the reference count by one when it is successful */
     IMoniker_AddRef(iface);
 
     return S_OK;
diff --git a/dlls/ole32/tests/moniker.c b/dlls/ole32/tests/moniker.c
index 7b2dfcfe08..4c273547cb 100644
--- a/dlls/ole32/tests/moniker.c
+++ b/dlls/ole32/tests/moniker.c
@@ -2886,6 +2886,9 @@ static void test_pointer_moniker(void)
     hr = CreatePointerMoniker((IUnknown *)&Test_ClassFactory, &moniker);
     ok_ole_success(hr, CreatePointerMoniker);
 
+    hr = IMoniker_QueryInterface(moniker, &IID_IMoniker, NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
+
     hr = IMoniker_QueryInterface(moniker, &CLSID_PointerMoniker, (void **)&unknown);
 todo_wine
     ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
-- 
2.24.1




More information about the wine-devel mailing list