Module: wine Branch: master Commit: 0e6626958f441eaee1bbfaf250a5b30988429a39 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0e6626958f441eaee1bbfaf250...
Author: Paul Bryan Roberts pbronline-wine@yahoo.co.uk Date: Sat Oct 18 21:40:21 2008 +0100
advapi32: LookupAccountNameW() - NULL account name handled.
---
dlls/advapi32/security.c | 5 +++++ dlls/advapi32/tests/security.c | 13 +++++-------- 2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c index fcb048b..a33d6ec 100644 --- a/dlls/advapi32/security.c +++ b/dlls/advapi32/security.c @@ -2532,6 +2532,11 @@ BOOL WINAPI LookupAccountNameW( LPCWSTR lpSystemName, LPCWSTR lpAccountName, PSI FIXME("%s %s %p %p %p %p %p - stub\n", debugstr_w(lpSystemName), debugstr_w(lpAccountName), Sid, cbSid, ReferencedDomainName, cchReferencedDomainName, peUse);
+ if (!lpAccountName || !strcmpW(lpAccountName, Blank)) + { + lpAccountName = BUILTIN; + } + for (i = 0; i < (sizeof(ACCOUNT_SIDS) / sizeof(ACCOUNT_SIDS[0])); i++) { if (!strcmpW(lpAccountName, ACCOUNT_SIDS[i].account)) diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c index 4e9e7ef..b6756f5 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -1632,14 +1632,11 @@ static void test_LookupAccountName(void) ret = LookupAccountNameA(NULL, NULL, psid, &sid_size, domain, &domain_size, &sid_use); get_sid_info(psid, &account, &sid_dom); ok(ret, "Failed to lookup account name\n"); - todo_wine - { - /* Using a fixed string will not work on different locales */ - ok(!lstrcmp(account, domain), - "Got %s for account and %s for domain, these should be the same\n", - account, domain); - ok(sid_use == SidTypeDomain, "Expected SidTypeDomain (%d), got %d\n", SidTypeDomain, sid_use); - } + /* Using a fixed string will not work on different locales */ + ok(!lstrcmp(account, domain), + "Got %s for account and %s for domain, these should be the same\n", + account, domain); + ok(sid_use == SidTypeDomain, "Expected SidTypeDomain (%d), got %d\n", SidTypeDomain, sid_use);
/* try an invalid account name */ SetLastError(0xdeadbeef);