diff options
-rw-r--r-- | sal/osl/w32/security.c | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/sal/osl/w32/security.c b/sal/osl/w32/security.c index ac5387517515..053d39f446c1 100644 --- a/sal/osl/w32/security.c +++ b/sal/osl/w32/security.c @@ -469,6 +469,37 @@ sal_Bool SAL_CALL osl_getHomeDir(oslSecurity Security, rtl_uString **pustrDirect } else { +#if 0 + if (pSecImpl->m_hToken) + { + DWORD nInfoBuffer = 512; + UCHAR* pInfoBuffer = malloc(nInfoBuffer); + + while (!GetTokenInformation(pSecImpl->m_hToken, TokenUser, + pInfoBuffer, nInfoBuffer, &nInfoBuffer)) + { + if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) + pInfoBuffer = realloc(pInfoBuffer, nInfoBuffer); + else + { + free(pInfoBuffer); + pInfoBuffer = NULL; + break; + } + } + + /* not implemented */ + OSL_ASSERT(sal_False); + + if (pInfoBuffer) + { + /* if (EqualSid() ... */ + + } + } + else +#endif + bSuccess = (sal_Bool)(GetSpecialFolder(&ustrSysDir, CSIDL_PERSONAL) && (osl_File_E_None == osl_getFileURLFromSystemPath(ustrSysDir, pustrDirectory))); } @@ -548,6 +579,7 @@ sal_Bool SAL_CALL osl_loadUserProfile(oslSecurity Security) LPFNLOADUSERPROFILE fLoadUserProfile = NULL; LPFNUNLOADUSERPROFILE fUnloadUserProfile = NULL; HANDLE hAccessToken = ((oslSecurityImpl*)Security)->m_hToken; + DWORD nError = 0; /* try to create user profile */ if ( !hAccessToken ) @@ -589,7 +621,7 @@ sal_Bool SAL_CALL osl_loadUserProfile(oslSecurity Security) bOk = TRUE; } else - DWORD nError = GetLastError(); + nError = GetLastError(); rtl_uString_release(buffer); } |