[PATCH 1/3] msvcrt: Added _mbsncoll and _mbsncoll_l implementation.
Jactry Zeng
jactry92 at gmail.com
Fri Apr 19 01:42:50 CDT 2013
-------------- next part --------------
From 9c4433aef126acfebe51ebda26f7425fb8b4aea1 Mon Sep 17 00:00:00 2001
From: Jactry Zeng <jactry92 at gmail.com>
Date: Fri, 19 Apr 2013 11:02:44 +0800
Subject: msvcrt: Added _mbsncoll and _mbsncoll_l implementation.
---
dlls/msvcr100/msvcr100.spec | 2 +-
dlls/msvcr110/msvcr110.spec | 2 +-
dlls/msvcr80/msvcr80.spec | 2 +-
dlls/msvcr90/msvcr90.spec | 2 +-
dlls/msvcrt/mbcs.c | 17 +++++++++++++++++
dlls/msvcrt/msvcrt.spec | 4 ++--
include/msvcrt/mbstring.h | 5 +++++
7 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index de346c4..24e1822 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1147,7 +1147,7 @@
@ cdecl _mbsncmp(str str long) msvcrt._mbsncmp
@ stub _mbsncmp_l
@ cdecl _mbsncoll(str str long) msvcrt._mbsncoll
-@ stub _mbsncoll_l
+@ cdecl _mbsncoll_l(str str long ptr) msvcrt._mbsncoll_l
@ cdecl _mbsncpy(ptr str long) msvcrt._mbsncpy
@ stub _mbsncpy_l
@ stub _mbsncpy_s
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 40f1470..944ef9a 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1509,7 +1509,7 @@
@ cdecl _mbsncmp(str str long) msvcrt._mbsncmp
@ stub _mbsncmp_l
@ cdecl _mbsncoll(str str long) msvcrt._mbsncoll
-@ stub _mbsncoll_l
+@ cdecl _mbsncoll_l(str str long ptr) msvcrt._mbsncoll_l
@ cdecl _mbsncpy(ptr str long) msvcrt._mbsncpy
@ stub _mbsncpy_l
@ stub _mbsncpy_s
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 30e3fa5..2c9bf2d 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -803,7 +803,7 @@
@ cdecl _mbsncmp(str str long) msvcrt._mbsncmp
@ stub _mbsncmp_l
@ cdecl _mbsncoll(str str long) msvcrt._mbsncoll
-@ stub _mbsncoll_l
+@ cdecl _mbsncoll_l(str str long ptr) msvcrt._mbsncoll_l
@ cdecl _mbsncpy(ptr str long) msvcrt._mbsncpy
@ stub _mbsncpy_l
@ stub _mbsncpy_s
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 2db3042..21dd1c0 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -796,7 +796,7 @@
@ cdecl _mbsncmp(str str long) msvcrt._mbsncmp
@ stub _mbsncmp_l
@ cdecl _mbsncoll(str str long) msvcrt._mbsncoll
-@ stub _mbsncoll_l
+@ cdecl _mbsncoll_l(str str long ptr) msvcrt._mbsncoll_l
@ cdecl _mbsncpy(ptr str long) msvcrt._mbsncpy
@ stub _mbsncpy_l
@ stub _mbsncpy_s
diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c
index fdc5422..060eb32 100644
--- a/dlls/msvcrt/mbcs.c
+++ b/dlls/msvcrt/mbcs.c
@@ -832,6 +832,23 @@ int CDECL _mbscoll_l(const unsigned char *str1, const unsigned char *str2, MSVCR
}
/*********************************************************************
+ * _mbsncoll(MSVCRT.@)
+ */
+int CDECL _mbsncoll(const unsigned char *str1, const unsigned char *str2, MSVCRT_size_t count)
+{
+ return _mbsnbcoll_l(str1, str2, count, NULL);
+}
+
+/*********************************************************************
+ * _mbsncoll_l(MSVCRT.@)
+ */
+int CDECL _mbsncoll_l(const unsigned char *str1, const unsigned char *str2, MSVCRT_size_t count,
+ MSVCRT__locale_t locale)
+{
+ return _mbsnbcoll_l(str1, str2, count, locale);
+}
+
+/*********************************************************************
* _mbsnbcoll(MSVCRT.@)
*/
int CDECL _mbsnbcoll(const unsigned char *str1, const unsigned char *str2, MSVCRT_size_t len)
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index ff96b36..51b74c6 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -771,8 +771,8 @@
# stub _mbsnccnt_l(str long ptr)
@ cdecl _mbsncmp(str str long)
# stub _mbsncmp_l(str str long ptr)
-@ stub _mbsncoll(str str long)
-# stub _mbsncoll_l(str str long ptr)
+@ cdecl _mbsncoll(str str long)
+@ cdecl _mbsncoll_l(str str long ptr)
@ cdecl _mbsncpy(ptr str long)
# stub _mbsncpy_l(ptr str long ptr)
# stub _mbsncpy_s(ptr long str long)
diff --git a/include/msvcrt/mbstring.h b/include/msvcrt/mbstring.h
index a4d0746..cbd353b 100644
--- a/include/msvcrt/mbstring.h
+++ b/include/msvcrt/mbstring.h
@@ -66,12 +66,14 @@ unsigned char* __cdecl _mbscat(unsigned char*,const unsigned char*);
unsigned char* __cdecl _mbschr(const unsigned char*,unsigned int);
int __cdecl _mbscmp(const unsigned char*,const unsigned char*);
int __cdecl _mbscoll(const unsigned char*,const unsigned char*);
+int __cdecl _mbscoll_l(const unsigned char*, const unsigned char*, _locale_t);
unsigned char* __cdecl _mbscpy(unsigned char*,const unsigned char*);
size_t __cdecl _mbscspn(const unsigned char*,const unsigned char*);
unsigned char* __cdecl _mbsdec(const unsigned char*,const unsigned char*);
unsigned char* __cdecl _mbsdup(const unsigned char*);
int __cdecl _mbsicmp(const unsigned char*,const unsigned char*);
int __cdecl _mbsicoll(const unsigned char*,const unsigned char*);
+int __cdecl _mbsicoll_l(const unsigned char*, const unsigned char*, _locale_t);
unsigned char* __cdecl _mbsinc(const unsigned char*);
size_t __cdecl _mbslen(const unsigned char*);
unsigned char* __cdecl _mbslwr(unsigned char*);
@@ -79,15 +81,18 @@ unsigned char* __cdecl _mbsnbcat(unsigned char*,const unsigned char*,size_t);
errno_t __cdecl _mbsnbcat_s(unsigned char*,size_t,const unsigned char*,size_t);
int __cdecl _mbsnbcmp(const unsigned char*,const unsigned char*,size_t);
int __cdecl _mbsnbcoll(const unsigned char*,const unsigned char*,size_t);
+int __cdecl _mbsnbcoll_l(const unsigned char*, const unsigned char*, size_t, _locale_t);
size_t __cdecl _mbsnbcnt(const unsigned char*,size_t);
unsigned char* __cdecl _mbsnbcpy(unsigned char*,const unsigned char*,size_t);
int __cdecl _mbsnbicmp(const unsigned char*,const unsigned char*,size_t);
int __cdecl _mbsnbicoll(const unsigned char*,const unsigned char*,size_t);
+int __cdecl _mbsnbicoll_l(const unsigned char*, const unsigned char*, size_t, _locale_t);
unsigned char* __cdecl _mbsnbset(unsigned char*,unsigned int,size_t);
unsigned char* __cdecl _mbsncat(unsigned char*,const unsigned char*, size_t);
size_t __cdecl _mbsnccnt(const unsigned char*,size_t);
int __cdecl _mbsncmp(const unsigned char*,const unsigned char*,size_t);
int __cdecl _mbsncoll(const unsigned char*,const unsigned char*,size_t);
+int __cdecl _mbsncoll_l(const unsigned char*, const unsigned char*, size_t, _locale_t);
unsigned char* __cdecl _mbsncpy(unsigned char*,const unsigned char*,size_t);
unsigned int __cdecl _mbsnextc (const unsigned char*);
int __cdecl _mbsnicmp(const unsigned char*,const unsigned char*,size_t);
--
1.7.9.5
More information about the wine-patches
mailing list