Michael Jung : shell32: Get rid of the magic MyDocuments->/home/julliard mapping code.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Feb 2 07:09:20 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 7a893cbe7acc973203f12010658ee36f84312256
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=7a893cbe7acc973203f12010658ee36f84312256

Author: Michael Jung <mjung at iss.tu-darmstadt.de>
Date:   Thu Feb  2 13:27:42 2006 +0100

shell32: Get rid of the magic MyDocuments->$HOME mapping code.

---

 dlls/shell32/shellpath.c |  110 ----------------------------------------------
 1 files changed, 0 insertions(+), 110 deletions(-)

diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index 29c004f..f60397e 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -1229,66 +1229,6 @@ static HRESULT _SHGetUserShellFolderPath
     return hr;
 }
 
-/* Helper function for _SHGetDefaultValue 
- *
- *   handing the directories under $HOME:
- *   1) try path under $HOME (such as $HOME/My Documents/My Pictures), if it
- *   exists return it.
- *   2) if not, but $HOME/My Documents exists return path 1 and have it created
- *   3) try $HOME if it exists return it
- *   4) normal fallback to C:/windows/Profiles/...
- */
-static HRESULT expand_home_path(LPWSTR pszPath, LPCWSTR def_path, UINT resource,
-                                BOOL create_lastdir)
-{
-    HRESULT hr = E_FAIL;
-    const char *home = getenv("HOME");
-
-    if (home)
-    {
-        LPWSTR homeW = wine_get_dos_file_name(home);
-
-        if (homeW)
-        {
-            WCHAR resourcePath[MAX_PATH];
-            lstrcpynW(pszPath, homeW, MAX_PATH);
-
-            if (LoadStringW(shell32_hInstance, resource, resourcePath, MAX_PATH))
-                PathAppendW(pszPath, resourcePath);
-            else
-                PathAppendW(pszPath, def_path);
-
-            if (PathIsDirectoryW(pszPath)) hr = S_OK;
-            else if (create_lastdir)
-            {
-                /* attempt 2, try for My Documents */
-
-                WCHAR* ptr = strrchrW(pszPath, '\\');
-                if (ptr)
-                {
-                    *ptr = 0;
-                    if (PathIsDirectoryW(pszPath))
-                    {
-                        *ptr = '\\';
-                        hr = S_OK;
-                    }
-                }
-            }
-
-            if (hr != S_OK)
-            {
-                /* attempt 3 return HOME */
-                lstrcpyW(pszPath,homeW);
-                hr = S_OK;
-            }
-            HeapFree(GetProcessHeap(), 0, homeW);
-        }
-        else
-            hr = HRESULT_FROM_WIN32(GetLastError());
-    }
-    return hr;
-}
-
 /* Gets a 'semi-expanded' default value of the CSIDL with index folder into
  * pszPath, based on the entries in CSIDL_Data.  By semi-expanded, I mean:
  * - The entry's szDefaultPath may be either a string value or an integer
@@ -1316,56 +1256,6 @@ static HRESULT _SHGetDefaultValue(BYTE f
     if (!pszPath)
         return E_INVALIDARG;
 
-    /* Try special cases first */
-    hr = E_FAIL;
-    switch (folder)
-    {
-        case CSIDL_MYPICTURES:
-            hr = expand_home_path(pszPath,My_PicturesW,IDS_MYPICTURES,TRUE);
-            break;
-        case CSIDL_PERSONAL:
-            hr = expand_home_path(pszPath,PersonalW,IDS_PERSONAL,FALSE);
-            break;
-        case CSIDL_MYMUSIC:
-            hr = expand_home_path(pszPath,My_MusicW,IDS_MYMUSIC,TRUE);
-            break;
-        case CSIDL_MYVIDEO:
-            hr = expand_home_path(pszPath,My_VideoW,IDS_MYVIDEO,TRUE);
-            break;
-        case CSIDL_DESKTOP:
-        case CSIDL_DESKTOPDIRECTORY:
-        {
-            const char *home = getenv("HOME");
-
-            /* special case for Desktop, map to $HOME/Desktop if it exists */
-            if (home)
-            {
-                LPWSTR homeW = wine_get_dos_file_name(home);
-
-                if (homeW)
-                {
-                    lstrcpynW(pszPath, homeW, MAX_PATH);
-                    if (PathAppendW(pszPath, DesktopW))
-                    {
-                        if (PathIsDirectoryW(pszPath))
-                            hr = S_OK;
-                    }
-                    else
-                        hr = HRESULT_FROM_WIN32(GetLastError());
-                    HeapFree(GetProcessHeap(), 0, homeW);
-                }
-                else
-                    hr = HRESULT_FROM_WIN32(GetLastError());
-            }
-            break;
-        }
-    }
-    if (SUCCEEDED(hr))
-        return hr;
-
-    /* Either the folder was unhandled, or a suitable default wasn't found,
-     * so use one of the resource-based defaults
-     */
     if (CSIDL_Data[folder].szDefaultPath &&
      IS_INTRESOURCE(CSIDL_Data[folder].szDefaultPath))
     {




More information about the wine-cvs mailing list