msi: Avoid intermediate variables when calling create_record.

This commit is contained in:
Alexandre Julliard 2013-03-13 12:47:30 +01:00
parent c0e85b9fe6
commit 33aa647e64

View file

@ -1203,11 +1203,7 @@ static HRESULT view_invoke(
V_VT(pVarResult) = VT_DISPATCH; V_VT(pVarResult) = VT_DISPATCH;
if ((ret = MsiViewFetch(This->msiHandle, &msiHandle)) == ERROR_SUCCESS) if ((ret = MsiViewFetch(This->msiHandle, &msiHandle)) == ERROR_SUCCESS)
{ {
IDispatch *dispatch = NULL; if (FAILED(hr = create_record(msiHandle, &V_DISPATCH(pVarResult))))
if (SUCCEEDED(hr = create_record(msiHandle, &dispatch)))
V_DISPATCH(pVarResult) = dispatch;
else
ERR("Failed to create Record object, hresult 0x%08x\n", hr); ERR("Failed to create Record object, hresult 0x%08x\n", hr);
} }
else if (ret == ERROR_NO_MORE_ITEMS) else if (ret == ERROR_NO_MORE_ITEMS)
@ -1684,7 +1680,6 @@ static HRESULT InstallerImpl_CreateRecord(WORD wFlags,
HRESULT hr; HRESULT hr;
VARIANTARG varg0; VARIANTARG varg0;
MSIHANDLE hrec; MSIHANDLE hrec;
IDispatch* dispatch;
if (!(wFlags & DISPATCH_METHOD)) if (!(wFlags & DISPATCH_METHOD))
return DISP_E_MEMBERNOTFOUND; return DISP_E_MEMBERNOTFOUND;
@ -1700,11 +1695,7 @@ static HRESULT InstallerImpl_CreateRecord(WORD wFlags,
if (!hrec) if (!hrec)
return DISP_E_EXCEPTION; return DISP_E_EXCEPTION;
hr = create_record(hrec, &dispatch); return create_record(hrec, &V_DISPATCH(pVarResult));
if (SUCCEEDED(hr))
V_DISPATCH(pVarResult) = dispatch;
return hr;
} }
static HRESULT InstallerImpl_OpenPackage(AutomationObject* This, static HRESULT InstallerImpl_OpenPackage(AutomationObject* This,