implement _mbsnbcat

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

This patch makes ACT!2000 run with the builtin msvcrt. The
implementation of _mbsnbcat is based on that of _mbsncat.

License: LGPL, X11
Changelog:
	Michael Stefaniuc <mstefani@redhat.com>
	- implement _mbsnbcat

bye
	michael
-- 
Michael Stefaniuc               Tel.: +49-711-96437-199
System Administration           Fax.: +49-711-96437-111
Red Hat GmbH                    Email: mstefani@redhat.com
Hauptstaetterstr. 58            http://www.redhat.de/
D-70178 Stuttgart
Index: dlls/msvcrt/mbcs.c
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/mbcs.c,v
retrieving revision 1.24
diff -u -r1.24 mbcs.c
--- dlls/msvcrt/mbcs.c	1 Feb 2003 00:59:22 -0000	1.24
+++ dlls/msvcrt/mbcs.c	2 Feb 2003 20:13:57 -0000
@@ -934,6 +934,29 @@
 
 
 /*********************************************************************
+ *		_mbsnbcat(MSVCRT.@)
+ */
+unsigned char* _mbsnbcat(unsigned char* dst, const unsigned char* src, MSVCRT_size_t len)
+{
+    if(MSVCRT___mb_cur_max > 1)
+    {
+        char *res = dst;
+        while (*dst++);
+        if (MSVCRT_isleadbyte(*(dst - 1))) {
+            /* overwrite the lead byte immediately preceeding '\0' (msdn) */
+            dst--;
+        }
+        while (*src && len--) {
+            *dst++ = *src;
+        }
+        *dst = '\0';
+        return res;
+    }
+    return strncat(dst, src, len); /* ASCII CP */
+}
+
+
+/*********************************************************************
  *		_mbsncat(MSVCRT.@)
  */
 unsigned char* _mbsncat(unsigned char* dst, const unsigned char* src, MSVCRT_size_t len)
Index: dlls/msvcrt/msvcrt.spec
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/msvcrt.spec,v
retrieving revision 1.61
diff -u -r1.61 msvcrt.spec
--- dlls/msvcrt/msvcrt.spec	1 Feb 2003 00:45:22 -0000	1.61
+++ dlls/msvcrt/msvcrt.spec	2 Feb 2003 20:13:58 -0000
@@ -359,7 +359,7 @@
 @ cdecl _mbsinc(str) _mbsinc
 @ cdecl _mbslen(str) _mbslen
 @ cdecl _mbslwr(str) _mbslwr
-@ stub _mbsnbcat #(str str long)
+@ cdecl _mbsnbcat (str str long) _mbsnbcat
 @ cdecl _mbsnbcmp(str str long) _mbsnbcmp
 @ cdecl _mbsnbcnt(ptr long) _mbsnbcnt
 @ stub _mbsnbcoll #(str str long)

Attachment: pgp00100.pgp
Description: PGP signature


[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux