From aaff163ae0150cf584ef48a769384545cd2ed625 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 27 Aug 2013 08:45:00 +0200 Subject: [PATCH] d3dx9: Simplify D3DXGetImageInfoFromResourceA(). --- dlls/d3dx9_36/surface.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c index f5c954f0d3e..efcf09cb17a 100644 --- a/dlls/d3dx9_36/surface.c +++ b/dlls/d3dx9_36/surface.c @@ -947,28 +947,23 @@ HRESULT WINAPI D3DXGetImageInfoFromFileW(LPCWSTR file, D3DXIMAGE_INFO *info) * if we fail to load resource * */ -HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, LPCSTR resource, D3DXIMAGE_INFO *info) +HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, const char *resource, D3DXIMAGE_INFO *info) { HRSRC resinfo; + void *buffer; + DWORD size; - TRACE("(%p, %s, %p)\n", module, debugstr_a(resource), info); + TRACE("module %p, resource %s, info %p.\n", module, debugstr_a(resource), info); - resinfo = FindResourceA(module, resource, (const char *)RT_RCDATA); - if (!resinfo) /* Try loading the resource as bitmap data (which is in DIB format D3DXIFF_DIB) */ - resinfo = FindResourceA(module, resource, (const char *)RT_BITMAP); + if (!(resinfo = FindResourceA(module, resource, (const char *)RT_RCDATA)) + /* Try loading the resource as bitmap data (which is in DIB format D3DXIFF_DIB) */ + && !(resinfo = FindResourceA(module, resource, (const char *)RT_BITMAP))) + return D3DXERR_INVALIDDATA; - if (resinfo) - { - LPVOID buffer; - HRESULT hr; - DWORD size; + if (FAILED(load_resource_into_memory(module, resinfo, &buffer, &size))) + return D3DXERR_INVALIDDATA; - hr = load_resource_into_memory(module, resinfo, &buffer, &size); - if(FAILED(hr)) return D3DXERR_INVALIDDATA; - return D3DXGetImageInfoFromFileInMemory(buffer, size, info); - } - - return D3DXERR_INVALIDDATA; + return D3DXGetImageInfoFromFileInMemory(buffer, size, info); } HRESULT WINAPI D3DXGetImageInfoFromResourceW(HMODULE module, LPCWSTR resource, D3DXIMAGE_INFO *info)