[PATCH] localspl: Return 0 for the local computer

Detlef Riekenberg wine.dev at web.de
Thu Mar 12 23:18:39 CDT 2009


---
 dlls/localspl/provider.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/dlls/localspl/provider.c b/dlls/localspl/provider.c
index dcb8b08..f308e36 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;
 }
 
 /******************************************************************
-- 
1.5.4.3


--=-QUXw7PZ+VmhAlq7HN3Vb--




More information about the wine-patches mailing list