[PATCH v5 1/3] oleaut32: Return early if there is no matching funcdesc.
Huw Davies
huw at codeweavers.com
Thu Jun 11 02:54:37 CDT 2020
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/oleaut32/typelib.c | 40 ++++++++++++++++++----------------------
1 file changed, 18 insertions(+), 22 deletions(-)
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index f8d71368345..ab421fec90d 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -7805,28 +7805,24 @@ static HRESULT WINAPI ITypeInfo_fnGetDllEntry( ITypeInfo2 *iface, MEMBERID memid
return TYPE_E_BADMODULEKIND;
pFDesc = TLB_get_funcdesc_by_memberid(This, memid);
- if(pFDesc){
- dump_TypeInfo(This);
- if (TRACE_ON(ole))
- dump_TLBFuncDescOne(pFDesc);
-
- if (pBstrDllName)
- *pBstrDllName = SysAllocString(TLB_get_bstr(This->DllName));
-
- if (!IS_INTRESOURCE(pFDesc->Entry) && (pFDesc->Entry != (void*)-1)) {
- if (pBstrName)
- *pBstrName = SysAllocString(TLB_get_bstr(pFDesc->Entry));
- if (pwOrdinal)
- *pwOrdinal = -1;
- return S_OK;
- }
- if (pBstrName)
- *pBstrName = NULL;
- if (pwOrdinal)
- *pwOrdinal = LOWORD(pFDesc->Entry);
- return S_OK;
- }
- return TYPE_E_ELEMENTNOTFOUND;
+ if (!pFDesc) return TYPE_E_ELEMENTNOTFOUND;
+
+ dump_TypeInfo(This);
+ if (TRACE_ON(ole)) dump_TLBFuncDescOne(pFDesc);
+
+ if (pBstrDllName) *pBstrDllName = SysAllocString(TLB_get_bstr(This->DllName));
+
+ if (!IS_INTRESOURCE(pFDesc->Entry) && (pFDesc->Entry != (void*)-1))
+ {
+ if (pBstrName) *pBstrName = SysAllocString(TLB_get_bstr(pFDesc->Entry));
+ if (pwOrdinal) *pwOrdinal = -1;
+ }
+ else
+ {
+ if (pBstrName) *pBstrName = NULL;
+ if (pwOrdinal) *pwOrdinal = LOWORD(pFDesc->Entry);
+ }
+ return S_OK;
}
/* internal function to make the inherited interfaces' methods appear
--
2.23.0
More information about the wine-devel
mailing list