[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-patches
Subject:    [PATCH 1/3 (try2)] shell32: Rearrange error handling in IKnownFolder::GetFolderDefinition
From:       Andrew Eikum <aeikum () codeweavers ! com>
Date:       2015-02-27 15:01:26
Message-ID: 20150227150126.GD26028 () foghorn ! codeweavers ! com
[Download RAW message or body]

---

try2: Fix typo.

 dlls/shell32/shellpath.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index 0cdc409..84ac7d5 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -3675,20 +3675,25 @@ static HRESULT WINAPI knownfolder_GetFolderDefinition(
     ZeroMemory(pKFD, sizeof(*pKFD));
 
     hr = get_known_folder_category(knownfolder->registryPath, &pKFD->category);
+    if(FAILED(hr))
+        return hr;
 
-    if(SUCCEEDED(hr))
-        hr = HRESULT_FROM_WIN32(RegGetValueW(HKEY_LOCAL_MACHINE, \
knownfolder->registryPath, szName, RRF_RT_REG_SZ, NULL, NULL, &dwSize)); +    hr = \
HRESULT_FROM_WIN32(RegGetValueW(HKEY_LOCAL_MACHINE, knownfolder->registryPath, \
szName, RRF_RT_REG_SZ, NULL, NULL, &dwSize)); +    if(FAILED(hr))
+        return hr;
 
-    if(SUCCEEDED(hr))
-    {
-        pKFD->pszName = CoTaskMemAlloc(dwSize);
-        if(!pKFD->pszName) hr = E_OUTOFMEMORY;
+    pKFD->pszName = CoTaskMemAlloc(dwSize);
+    if(!pKFD->pszName)
+        return E_OUTOFMEMORY;
+
+    hr = HRESULT_FROM_WIN32(RegGetValueW(HKEY_LOCAL_MACHINE, \
knownfolder->registryPath, szName, RRF_RT_REG_SZ, NULL, pKFD->pszName, &dwSize)); +   \
if(FAILED(hr)){ +        CoTaskMemFree(pKFD->pszName);
+        pKFD->pszName = NULL;
+        return hr;
     }
 
-    if(SUCCEEDED(hr))
-        hr = HRESULT_FROM_WIN32(RegGetValueW(HKEY_LOCAL_MACHINE, \
                knownfolder->registryPath, szName, RRF_RT_REG_SZ, NULL, \
                pKFD->pszName, &dwSize));
-
-    return hr;
+    return S_OK;
 }
 
 static const struct IKnownFolderVtbl knownfolder_vtbl =
-- 
2.3.1


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic