Paul Vriens : comctl32: Fix return values of string functions.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Nov 8 06:42:37 CST 2006


Module: wine
Branch: master
Commit: e80000e6ab33f2a863d494fc6721ae78a6608175
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e80000e6ab33f2a863d494fc6721ae78a6608175

Author: Paul Vriens <paul.vriens.wine at gmail.com>
Date:   Tue Nov  7 21:29:46 2006 +0100

comctl32: Fix return values of string functions.

---

 dlls/comctl32/string.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/comctl32/string.c b/dlls/comctl32/string.c
index e083ea6..1c01b08 100644
--- a/dlls/comctl32/string.c
+++ b/dlls/comctl32/string.c
@@ -165,8 +165,8 @@ INT WINAPI Str_GetPtrA (LPCSTR lpSrc, LP
 
     TRACE("(%p %p %d)\n", lpSrc, lpDest, nMaxLen);
 
-    if (!lpDest && lpSrc)
-        return strlen (lpSrc);
+    if ((!lpDest || nMaxLen == 0) && lpSrc)
+        return (strlen(lpSrc) + 1);
 
     if (nMaxLen == 0)
         return 0;
@@ -176,12 +176,12 @@ INT WINAPI Str_GetPtrA (LPCSTR lpSrc, LP
         return 0;
     }
 
-    len = strlen (lpSrc);
+    len = strlen(lpSrc) + 1;
     if (len >= nMaxLen)
-        len = nMaxLen - 1;
+        len = nMaxLen;
 
-    RtlMoveMemory (lpDest, lpSrc, len);
-    lpDest[len] = '\0';
+    RtlMoveMemory (lpDest, lpSrc, len - 1);
+    lpDest[len - 1] = '\0';
 
     return len;
 }




More information about the wine-cvs mailing list