[PATCH 3/7] d3dx9: Simplify init and cleanup in get_constants_desc().
Matteo Bruni
matteo.mystral at gmail.com
Mon Jul 10 15:44:52 CDT 2017
2017-07-06 13:15 GMT+02:00 Paul Gofman <gofmanp at gmail.com>:
> Signed-off-by: Paul Gofman <gofmanp at gmail.com>
> ---
> dlls/d3dx9_36/preshader.c | 17 +++--------------
> 1 file changed, 3 insertions(+), 14 deletions(-)
>
> diff --git a/dlls/d3dx9_36/preshader.c b/dlls/d3dx9_36/preshader.c
> index 2fb14ab..cabddcd 100644
> --- a/dlls/d3dx9_36/preshader.c
> +++ b/dlls/d3dx9_36/preshader.c
> @@ -618,10 +618,6 @@ static HRESULT get_constants_desc(unsigned int *byte_code, struct d3dx_const_tab
> D3DXHANDLE hc;
> unsigned int i;
>
> - out->inputs = cdesc = NULL;
> - out->inputs_param = NULL;
> - out->input_count = 0;
> - inputs_param = NULL;
> hr = D3DXGetShaderConstantTable(byte_code, &ctab);
> if (FAILED(hr) || !ctab)
> {
> @@ -635,8 +631,8 @@ static HRESULT get_constants_desc(unsigned int *byte_code, struct d3dx_const_tab
> goto err_out;
> }
>
> - cdesc = HeapAlloc(GetProcessHeap(), 0, sizeof(*cdesc) * desc.Constants);
> - inputs_param = HeapAlloc(GetProcessHeap(), 0, sizeof(*inputs_param) * desc.Constants);
> + out->inputs = cdesc = HeapAlloc(GetProcessHeap(), 0, sizeof(*cdesc) * desc.Constants);
> + out->inputs_param = inputs_param = HeapAlloc(GetProcessHeap(), 0, sizeof(*inputs_param) * desc.Constants);
> if (!cdesc || !inputs_param)
> {
> hr = E_OUTOFMEMORY;
> @@ -678,16 +674,9 @@ static HRESULT get_constants_desc(unsigned int *byte_code, struct d3dx_const_tab
> }
> }
> out->input_count = desc.Constants;
> - out->inputs = cdesc;
> - out->inputs_param = inputs_param;
> hr = init_set_constants(out, ctab);
> - ID3DXConstantTable_Release(ctab);
> - return hr;
> err_out:
> - HeapFree(GetProcessHeap(), 0, cdesc);
> - HeapFree(GetProcessHeap(), 0, inputs_param);
> - if (ctab)
> - ID3DXConstantTable_Release(ctab);
> + ID3DXConstantTable_Release(ctab);
> return hr;
> }
It would be a nice cleanup to rename the err_out: label to cleanup:,
done: or similar.
More information about the wine-devel
mailing list