From e1413faeb7097c6d1429d2309b9af63b8f247bd1 Mon Sep 17 00:00:00 2001 From: Detlef Riekenberg Date: Fri, 13 Mar 2009 05:18:39 +0100 Subject: [PATCH] localspl: Return 0 for the local computer. --- dlls/localspl/provider.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/dlls/localspl/provider.c b/dlls/localspl/provider.c index dcb8b088d37..f308e36d7e9 100644 --- a/dlls/localspl/provider.c +++ b/dlls/localspl/provider.c @@ -251,25 +251,26 @@ static LONG copy_servername_from_name(LPCWSTR name, LPWSTR target) ptr = strchrW(server, '\\'); serverlen = (ptr) ? ptr - server : lstrlenW(server); - /* servername is empty or to long */ + /* servername is empty */ if (serverlen == 0) return 0; TRACE("found %s\n", debugstr_wn(server, serverlen)); if (serverlen > MAX_COMPUTERNAME_LENGTH) return -serverlen; + if (target) { + memcpy(target, server, serverlen * sizeof(WCHAR)); + target[serverlen] = '\0'; + } + len = sizeof(buffer) / sizeof(buffer[0]); if (GetComputerNameW(buffer, &len)) { if ((serverlen == len) && (strncmpiW(server, buffer, len) == 0)) { /* The requested Servername is our computername */ - if (target) { - memcpy(target, server, serverlen * sizeof(WCHAR)); - target[serverlen] = '\0'; - } - return serverlen; + return 0; } } - return 0; + return serverlen; } /******************************************************************