summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2018-05-18 19:54:56 (GMT)
committerfvogel <fvogelnew1@free.fr>2018-05-18 19:54:56 (GMT)
commit423f761169b37ab7bd60fa145f1b2a63c4075db0 (patch)
treef6b528692b11c352a54c9b7d467cd4c97cc73502
parentba42e43e970a3a2f5299df4f36fb283c7cc9526b (diff)
downloadtcl-423f761169b37ab7bd60fa145f1b2a63c4075db0.zip
tcl-423f761169b37ab7bd60fa145f1b2a63c4075db0.tar.gz
tcl-423f761169b37ab7bd60fa145f1b2a63c4075db0.tar.bz2
Fix [9e6b569963]: file normalize ~user fails on Windows
-rw-r--r--win/tclWinFile.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/win/tclWinFile.c b/win/tclWinFile.c
index 9afe0a9..beab147 100644
--- a/win/tclWinFile.c
+++ b/win/tclWinFile.c
@@ -1444,6 +1444,7 @@ TclpGetUserHome(
char *domain;
WCHAR *wName, *wHomeDir, *wDomain, **wDomainPtr = &wDomain;
WCHAR buf[MAX_PATH];
+ LPCWSTR wServername = NULL;
Tcl_DStringInit(bufferPtr);
wDomain = NULL;
@@ -1458,7 +1459,8 @@ TclpGetUserHome(
if (badDomain == 0) {
Tcl_DStringInit(&ds);
wName = Tcl_UtfToUniCharDString(name, nameLen, &ds);
- if (NetUserGetInfo(wDomain, wName, 1, (LPBYTE *) uiPtrPtr) == 0) {
+ NetGetDCName(NULL, wDomain, (LPBYTE *) &wServername);
+ if (NetUserGetInfo(wServername, wName, 1, (LPBYTE *) uiPtrPtr) == 0) {
wHomeDir = uiPtr->usri1_home_dir;
if ((wHomeDir != NULL) && (wHomeDir[0] != L'\0')) {
Tcl_UniCharToUtfDString(wHomeDir, lstrlenW(wHomeDir),