Dmitry Timoshkov : advapi32: Return correct short domain name.
Alexandre Julliard
julliard at winehq.org
Fri Mar 2 12:16:45 CST 2018
Module: wine
Branch: master
Commit: eb077e9faccb736bb5aac2b13bf49f1f434e8fc1
URL: https://source.winehq.org/git/wine.git/?a=commit;h=eb077e9faccb736bb5aac2b13bf49f1f434e8fc1
Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date: Fri Mar 2 18:45:00 2018 +0800
advapi32: Return correct short domain name.
Also remove suffix and uppercase the returned name as Windows does.
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/advapi32/lsa.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index f2fcc07..ca35768 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -786,11 +786,16 @@ NTSTATUS WINAPI LsaQueryInformationPolicy(
if (!xdi) return STATUS_NO_MEMORY;
dwSize = MAX_COMPUTERNAME_LENGTH + 1;
- if (GetComputerNameW(xdi->domain_name, &dwSize))
+ if (GetComputerNameExW(ComputerNamePhysicalDnsDomain, xdi->domain_name, &dwSize))
{
+ WCHAR *dot;
+
+ dot = strrchrW(xdi->domain_name, '.');
+ if (dot) *dot = 0;
+ struprW(xdi->domain_name);
xdi->info.Name.Buffer = xdi->domain_name;
- xdi->info.Name.Length = dwSize * sizeof(WCHAR);
- xdi->info.Name.MaximumLength = (dwSize + 1) * sizeof(WCHAR);
+ xdi->info.Name.Length = strlenW(xdi->domain_name) * sizeof(WCHAR);
+ xdi->info.Name.MaximumLength = xdi->info.Name.Length + sizeof(WCHAR);
TRACE("setting Name to %s\n", debugstr_w(xdi->info.Name.Buffer));
}
More information about the wine-cvs
mailing list