diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-03-06 10:28:47 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-03-06 10:28:47 (GMT) |
| commit | f0e415c1e15a28ce5db771214adf09f765ab12ba (patch) | |
| tree | d31694c8c83af225de730a5b700489a9762c1970 /win/tclWinFile.c | |
| parent | 296e4767eaa58abc7f46c676e80546de26a997a2 (diff) | |
| parent | cfa443421bcf235f75def81bc137774aa0f20387 (diff) | |
| download | tcl-f0e415c1e15a28ce5db771214adf09f765ab12ba.zip tcl-f0e415c1e15a28ce5db771214adf09f765ab12ba.tar.gz tcl-f0e415c1e15a28ce5db771214adf09f765ab12ba.tar.bz2 | |
Merge 8.7
Diffstat (limited to 'win/tclWinFile.c')
| -rw-r--r-- | win/tclWinFile.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/win/tclWinFile.c b/win/tclWinFile.c index 21fb9a3..4c63222 100644 --- a/win/tclWinFile.c +++ b/win/tclWinFile.c @@ -1457,22 +1457,21 @@ TclpGetUserHome( */ ptr = TclpGetUserName(&ds); if (ptr != NULL && strcasecmp(name, ptr) == 0) { - HANDLE hProcess; - WCHAR buf[MAX_PATH]; - DWORD nChars = sizeof(buf) / sizeof(buf[0]); - /* Sadly GetCurrentProcessToken not in Win 7 so slightly longer */ - hProcess = GetCurrentProcess(); /* Need not be closed */ - if (hProcess) { - HANDLE hToken; - if (OpenProcessToken(hProcess, TOKEN_QUERY, &hToken)) { - if (GetUserProfileDirectoryW(hToken, buf, &nChars)) { - Tcl_WCharToUtfDString(buf, nChars-1, bufferPtr); - result = Tcl_DStringValue(bufferPtr); - rc = 1; - } - CloseHandle(hToken); - } - } + HANDLE hProcess; + WCHAR buf[MAX_PATH]; + DWORD nChars = sizeof(buf) / sizeof(buf[0]); + /* Sadly GetCurrentProcessToken not in Win 7 so slightly longer */ + hProcess = GetCurrentProcess(); /* Need not be closed */ + if (hProcess) { + HANDLE hToken; + if (OpenProcessToken(hProcess, TOKEN_QUERY, &hToken)) { + if (GetUserProfileDirectoryW(hToken, buf, &nChars)) { + result = Tcl_WCharToUtfDString(buf, nChars-1, (bufferPtr)); + rc = 1; + } + CloseHandle(hToken); + } + } } Tcl_DStringFree(&ds); } else { |
