From: Michael J. Spencer Date: Tue, 9 Nov 2010 15:11:31 +0000 (+0000) Subject: System/Path/Windows: Generalize GetUserHomeDirectory. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=05283c2a2b3b68666cc137accbb87857c34e3872;p=oota-llvm.git System/Path/Windows: Generalize GetUserHomeDirectory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118506 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc index 9187c827938..b0cca0e3362 100644 --- a/lib/System/Win32/Path.inc +++ b/lib/System/Win32/Path.inc @@ -293,14 +293,15 @@ Path::GetLLVMDefaultConfigDir() { Path Path::GetUserHomeDirectory() { - // TODO: Typical Windows setup doesn't define HOME. - const char* home = getenv("HOME"); - if (home) { - Path result; - if (result.set(home)) - return result; - } - return GetRootDirectory(); + char buff[MAX_PATH]; + HRESULT res = SHGetFolderPathA(NULL, + CSIDL_FLAG_CREATE | CSIDL_APPDATA, + NULL, + SHGFP_TYPE_CURRENT, + buff); + if (res != S_OK) + assert(0 && "Failed to get user home directory"); + return Path(buff); } Path