Michael Stefaniuc : shlwapi: Remove break after return (Smatch).
Alexandre Julliard
julliard at winehq.org
Wed Oct 15 10:08:19 CDT 2008
Module: wine
Branch: master
Commit: d6359edd3cbe366c71f22e09e27d3e427520f609
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d6359edd3cbe366c71f22e09e27d3e427520f609
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Tue Oct 14 16:32:33 2008 +0200
shlwapi: Remove break after return (Smatch).
---
dlls/shlwapi/assoc.c | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/dlls/shlwapi/assoc.c b/dlls/shlwapi/assoc.c
index 7f71708..9e4b036 100644
--- a/dlls/shlwapi/assoc.c
+++ b/dlls/shlwapi/assoc.c
@@ -627,7 +627,31 @@ static HRESULT ASSOC_GetExecutable(IQueryAssociationsImpl *This,
if (!pszExtra)
{
hr = ASSOC_GetValue(hkeyShell, &pszExtraFromReg);
- if (FAILED(hr))
+ /* if no default action */
+ if (hr == E_FAIL || hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND))
+ {
+ DWORD rlen;
+ ret = RegQueryInfoKeyW(hkeyShell, 0, 0, 0, 0, &rlen, 0, 0, 0, 0, 0, 0);
+ if (ret != ERROR_SUCCESS)
+ {
+ RegCloseKey(hkeyShell);
+ return HRESULT_FROM_WIN32(ret);
+ }
+ rlen++;
+ pszExtraFromReg = HeapAlloc(GetProcessHeap(), 0, rlen * sizeof(WCHAR));
+ if (!pszExtraFromReg)
+ {
+ RegCloseKey(hkeyShell);
+ return E_OUTOFMEMORY;
+ }
+ ret = RegEnumKeyExW(hkeyShell, 0, pszExtraFromReg, &rlen, 0, NULL, NULL, NULL);
+ if (ret != ERROR_SUCCESS)
+ {
+ RegCloseKey(hkeyShell);
+ return HRESULT_FROM_WIN32(ret);
+ }
+ }
+ else if (FAILED(hr))
{
RegCloseKey(hkeyShell);
return hr;
@@ -743,7 +767,6 @@ static HRESULT WINAPI IQueryAssociations_fnGetString(
return hr;
len++;
return ASSOC_ReturnData(pszOut, pcchOut, path, len);
- break;
}
case ASSOCSTR_FRIENDLYAPPNAME:
More information about the wine-cvs
mailing list