Add strncpyW to unicode.h

Jeff Latimer jeffl at defcen.gov.au
Mon Apr 25 06:19:11 CDT 2005


I have just been reading the lists and realise that strncpyW/strncpy is 
bad news for some reason.  Please consider this patch withdrawn. 

Wouldn't it be better to implement strncpyW as a wrapper for memcpy?  
Given that all the other string functions are implemeted with the (W) 
version, having strncpyW missing is a bit confusing.

Jeff Latimer

Jeff Latimer wrote:

> An implementation of strncpyW.
>
> Jeff Latimer
>
>------------------------------------------------------------------------
>
>Index: unicode.h
>===================================================================
>RCS file: /home/wine/wine/include/wine/unicode.h,v
>retrieving revision 1.31
>diff -u -r1.31 unicode.h
>--- unicode.h	21 Apr 2005 17:18:50 -0000	1.31
>+++ unicode.h	25 Apr 2005 10:48:05 -0000
>@@ -191,6 +191,18 @@
>     return dst;
> }
> 
>+static inline WCHAR *strncpyW( WCHAR *dst, const WCHAR *src, int maxlen )
>+{
>+    WCHAR *p = dst;
>+    if  (maxlen > 0 )
>+    {
>+        maxlen--;
>+        while (((*p++ = *src++) && maxlen--));
>+    }
>+    if  (*p) *p++ = (WCHAR) "\0";
>+    return dst;
>+}
>+
> static inline int strcmpW( const WCHAR *str1, const WCHAR *str2 )
> {
>     while (*str1 && (*str1 == *str2)) { str1++; str2++; }
>  
>




More information about the wine-patches mailing list