From 608cb60e446e3cfe4d8c1989468cfb2fe02d7d0a Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sun, 26 Aug 2018 22:37:49 +0200 Subject: [PATCH] [SHELL32] Remove some mostly dead code from CShellLink --- dll/win32/shell32/CShellLink.cpp | 94 +++++++++++--------------------- 1 file changed, 33 insertions(+), 61 deletions(-) diff --git a/dll/win32/shell32/CShellLink.cpp b/dll/win32/shell32/CShellLink.cpp index 67da3ed8484..2b6b20020d9 100644 --- a/dll/win32/shell32/CShellLink.cpp +++ b/dll/win32/shell32/CShellLink.cpp @@ -349,14 +349,10 @@ HRESULT STDMETHODCALLTYPE CShellLink::Save(LPCOLESTR pszFileName, BOOL fRemember if (SUCCEEDED(hr)) { - if (pszFileName != m_sLinkPath) - { - if (m_sLinkPath) - HeapFree(GetProcessHeap(), 0, m_sLinkPath); - - m_sLinkPath = strdupW(pszFileName); - } + if (m_sLinkPath) + HeapFree(GetProcessHeap(), 0, m_sLinkPath); + m_sLinkPath = strdupW(pszFileName); m_bDirty = FALSE; } else @@ -1416,12 +1412,9 @@ HRESULT STDMETHODCALLTYPE CShellLink::Resolve(HWND hwnd, DWORD fFlags) bSuccess = SHGetPathFromIDListW(m_pPidl, buffer); if (bSuccess && *buffer) { - if (buffer != m_sPath) - { - m_sPath = strdupW(buffer); - if (!m_sPath) - return E_OUTOFMEMORY; - } + m_sPath = strdupW(buffer); + if (!m_sPath) + return E_OUTOFMEMORY; m_bDirty = TRUE; } @@ -1434,12 +1427,9 @@ HRESULT STDMETHODCALLTYPE CShellLink::Resolve(HWND hwnd, DWORD fFlags) // FIXME: Strange to do that here... if (!m_sIcoPath && m_sPath) { - if (m_sIcoPath != m_sPath) - { - m_sIcoPath = strdupW(m_sPath); - if (!m_sIcoPath) - return E_OUTOFMEMORY; - } + m_sIcoPath = strdupW(m_sPath); + if (!m_sIcoPath) + return E_OUTOFMEMORY; m_Header.nIconIndex = 0; @@ -1565,12 +1555,9 @@ HRESULT STDMETHODCALLTYPE CShellLink::SetDescription(LPCWSTR pszName) HeapFree(GetProcessHeap(), 0, m_sDescription); if (pszName) { - if (m_sDescription != pszName) - { - m_sDescription = strdupW(pszName); - if (!m_sDescription) - return E_OUTOFMEMORY; - } + m_sDescription = strdupW(pszName); + if (!m_sDescription) + return E_OUTOFMEMORY; } else m_sDescription = NULL; @@ -1600,12 +1587,9 @@ HRESULT STDMETHODCALLTYPE CShellLink::SetWorkingDirectory(LPCWSTR pszDir) HeapFree(GetProcessHeap(), 0, m_sWorkDir); if (pszDir) { - if (m_sWorkDir != pszDir) - { - m_sWorkDir = strdupW(pszDir); - if (!m_sWorkDir) - return E_OUTOFMEMORY; - } + m_sWorkDir = strdupW(pszDir); + if (!m_sWorkDir) + return E_OUTOFMEMORY; } else m_sWorkDir = NULL; @@ -1635,12 +1619,9 @@ HRESULT STDMETHODCALLTYPE CShellLink::SetArguments(LPCWSTR pszArgs) HeapFree(GetProcessHeap(), 0, m_sArgs); if (pszArgs) { - if (m_sArgs != pszArgs) - { - m_sArgs = strdupW(pszArgs); - if (!m_sArgs) - return E_OUTOFMEMORY; - } + m_sArgs = strdupW(pszArgs); + if (!m_sArgs) + return E_OUTOFMEMORY; } else m_sArgs = NULL; @@ -1675,12 +1656,9 @@ HRESULT STDMETHODCALLTYPE CShellLink::GetIconLocation(LPWSTR pszIconPath, INT cc SHExpandEnvironmentStringsW(pInfo->szwTarget, szPath, _countof(szPath)); - if (m_sIcoPath != szPath) - { - m_sIcoPath = strdupW(szPath); - if (!m_sIcoPath) - return E_OUTOFMEMORY; - } + m_sIcoPath = strdupW(szPath); + if (!m_sIcoPath) + return E_OUTOFMEMORY; m_Header.dwFlags |= SLDF_HAS_ICONLOCATION; @@ -1954,12 +1932,9 @@ HRESULT STDMETHODCALLTYPE CShellLink::SetIconLocation(LPCWSTR pszIconPath, INT i HeapFree(GetProcessHeap(), 0, m_sIcoPath); m_sIcoPath = NULL; - if (m_sIcoPath != pszIconPath) - { - m_sIcoPath = strdupW(pszIconPath); - if (!m_sIcoPath) - return E_OUTOFMEMORY; - } + m_sIcoPath = strdupW(pszIconPath); + if (!m_sIcoPath) + return E_OUTOFMEMORY; m_Header.dwFlags |= SLDF_HAS_ICONLOCATION; } @@ -1979,12 +1954,9 @@ HRESULT STDMETHODCALLTYPE CShellLink::SetRelativePath(LPCWSTR pszPathRel, DWORD HeapFree(GetProcessHeap(), 0, m_sPathRel); if (pszPathRel) { - if (m_sPathRel != pszPathRel) - { - m_sPathRel = strdupW(pszPathRel); - if (!m_sPathRel) - return E_OUTOFMEMORY; - } + m_sPathRel = strdupW(pszPathRel); + if (!m_sPathRel) + return E_OUTOFMEMORY; } else m_sPathRel = NULL; @@ -2327,12 +2299,12 @@ HRESULT CShellLink::SetTargetFromPIDLOrPath(LPCITEMIDLIST pidl, LPCWSTR pszFile) /* Update the cached path (for link info) */ ShellLink_GetVolumeInfo(pszFile, &volume); - if (m_sPath != pszFile) - { - m_sPath = strdupW(pszFile); - if (!m_sPath) - return E_OUTOFMEMORY; - } + if (m_sPath) + HeapFree(GetProcessHeap(), 0, m_sPath); + + m_sPath = strdupW(pszFile); + if (!m_sPath) + return E_OUTOFMEMORY; m_bDirty = TRUE; return hr;