Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
f5c86479
Commit
f5c86479
authored
Dec 12, 2012
by
Piotr Caban
Committed by
Alexandre Julliard
Dec 12, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Added _mbsnbcoll_l implementation.
parent
a2b71b73
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
44 additions
and
31 deletions
+44
-31
msvcr100.spec
dlls/msvcr100/msvcr100.spec
+2
-2
msvcr80.spec
dlls/msvcr80/msvcr80.spec
+2
-2
msvcr90.spec
dlls/msvcr90/msvcr90.spec
+2
-2
mbcs.c
dlls/msvcrt/mbcs.c
+34
-22
msvcrt.h
dlls/msvcrt/msvcrt.h
+1
-0
msvcrt.spec
dlls/msvcrt/msvcrt.spec
+3
-3
No files found.
dlls/msvcr100/msvcr100.spec
View file @
f5c86479
...
...
@@ -1095,7 +1095,7 @@
@ cdecl _mbscmp(str str) msvcrt._mbscmp
@ stub _mbscmp_l
@ cdecl _mbscoll(str str) msvcrt._mbscoll
@
stub
_mbscoll_l
@
cdecl _mbscoll_l(str str ptr) msvcrt.
_mbscoll_l
@ stub _mbscpy_s
@ stub _mbscpy_s_l
@ cdecl _mbscspn(str str) msvcrt._mbscspn
...
...
@@ -1123,7 +1123,7 @@
@ cdecl _mbsnbcnt(ptr long) msvcrt._mbsnbcnt
@ stub _mbsnbcnt_l
@ cdecl _mbsnbcoll(str str long) msvcrt._mbsnbcoll
@
stub
_mbsnbcoll_l
@
cdecl _mbsnbcoll_l(str str long ptr) msvcrt.
_mbsnbcoll_l
@ cdecl _mbsnbcpy(ptr str long) msvcrt._mbsnbcpy
@ stub _mbsnbcpy_l
@ cdecl _mbsnbcpy_s(ptr long str long) msvcrt._mbsnbcpy_s
...
...
dlls/msvcr80/msvcr80.spec
View file @
f5c86479
...
...
@@ -752,7 +752,7 @@
@ cdecl _mbscmp(str str) msvcrt._mbscmp
@ stub _mbscmp_l
@ cdecl _mbscoll(str str) msvcrt._mbscoll
@
stub
_mbscoll_l
@
cdecl _mbscoll_l(str str ptr) msvcrt.
_mbscoll_l
@ stub _mbscpy_s
@ stub _mbscpy_s_l
@ cdecl _mbscspn(str str) msvcrt._mbscspn
...
...
@@ -780,7 +780,7 @@
@ cdecl _mbsnbcnt(ptr long) msvcrt._mbsnbcnt
@ stub _mbsnbcnt_l
@ cdecl _mbsnbcoll(str str long) msvcrt._mbsnbcoll
@
stub
_mbsnbcoll_l
@
cdecl _mbsnbcoll_l(str str long ptr) msvcrt.
_mbsnbcoll_l
@ cdecl _mbsnbcpy(ptr str long) msvcrt._mbsnbcpy
@ stub _mbsnbcpy_l
@ cdecl _mbsnbcpy_s(ptr long str long) msvcrt._mbsnbcpy_s
...
...
dlls/msvcr90/msvcr90.spec
View file @
f5c86479
...
...
@@ -745,7 +745,7 @@
@ cdecl _mbscmp(str str) msvcrt._mbscmp
@ stub _mbscmp_l
@ cdecl _mbscoll(str str) msvcrt._mbscoll
@
stub
_mbscoll_l
@
cdecl _mbscoll_l(str str ptr) msvcrt.
_mbscoll_l
@ stub _mbscpy_s
@ stub _mbscpy_s_l
@ cdecl _mbscspn(str str) msvcrt._mbscspn
...
...
@@ -773,7 +773,7 @@
@ cdecl _mbsnbcnt(ptr long) msvcrt._mbsnbcnt
@ stub _mbsnbcnt_l
@ cdecl _mbsnbcoll(str str long) msvcrt._mbsnbcoll
@
stub
_mbsnbcoll_l
@
cdecl _mbsnbcoll_l(str str long ptr) msvcrt.
_mbsnbcoll_l
@ cdecl _mbsnbcpy(ptr str long) msvcrt._mbsnbcpy
@ stub _mbsnbcpy_l
@ cdecl _mbsnbcpy_s(ptr long str long) msvcrt._mbsnbcpy_s
...
...
dlls/msvcrt/mbcs.c
View file @
f5c86479
...
...
@@ -807,34 +807,46 @@ int CDECL _mbsicoll(const unsigned char* str, const unsigned char* cmp)
}
/*********************************************************************
* _mbsnbcoll_l(MSVCRT.@)
*/
int
CDECL
_mbsnbcoll_l
(
const
unsigned
char
*
str1
,
const
unsigned
char
*
str2
,
MSVCRT_size_t
len
,
MSVCRT__locale_t
locale
)
{
MSVCRT_pthreadmbcinfo
mbcinfo
;
if
(
!
locale
)
mbcinfo
=
get_mbcinfo
();
else
mbcinfo
=
locale
->
mbcinfo
;
if
(
!
mbcinfo
->
ismbcodepage
)
return
MSVCRT_strncoll_l
((
const
char
*
)
str1
,
(
const
char
*
)
str2
,
len
,
locale
);
return
CompareStringA
(
mbcinfo
->
mblcid
,
0
,
(
const
char
*
)
str1
,
len
,
(
const
char
*
)
str2
,
len
)
-
CSTR_EQUAL
;
}
/*********************************************************************
* _mbscoll_l(MSVCRT.@)
*/
int
CDECL
_mbscoll_l
(
const
unsigned
char
*
str1
,
const
unsigned
char
*
str2
,
MSVCRT__locale_t
locale
)
{
return
_mbsnbcoll_l
(
str1
,
str2
,
-
1
,
locale
);
}
/*********************************************************************
* _mbsnbcoll(MSVCRT.@)
*/
int
CDECL
_mbsnbcoll
(
const
unsigned
char
*
str1
,
const
unsigned
char
*
str2
,
MSVCRT_size_t
len
)
{
return
_mbsnbcoll_l
(
str1
,
str2
,
len
,
NULL
);
}
/*********************************************************************
* _mbscoll(MSVCRT.@)
* Performs a case-sensitive comparison according to the current code page
* RETURN
* _NLSCMPERROR if error
* FIXME: handle locales.
*/
int
CDECL
_mbscoll
(
const
unsigned
char
*
str
,
const
unsigned
char
*
cmp
)
{
if
(
get_mbcinfo
()
->
ismbcodepage
)
{
unsigned
int
strc
,
cmpc
;
do
{
if
(
!*
str
)
return
*
cmp
?
-
1
:
0
;
if
(
!*
cmp
)
return
1
;
strc
=
_mbsnextc
(
str
);
cmpc
=
_mbsnextc
(
cmp
);
if
(
strc
!=
cmpc
)
return
strc
<
cmpc
?
-
1
:
1
;
str
+=
(
strc
>
255
)
?
2
:
1
;
cmp
+=
(
strc
>
255
)
?
2
:
1
;
/* equal, use same increment */
}
while
(
1
);
}
return
u_strcmp
(
str
,
cmp
);
/* ASCII CP */
return
_mbsnbcoll_l
(
str
,
cmp
,
-
1
,
NULL
);
}
/*********************************************************************
* _mbsicmp(MSVCRT.@)
*/
...
...
dlls/msvcrt/msvcrt.h
View file @
f5c86479
...
...
@@ -953,6 +953,7 @@ void __cdecl MSVCRT__invalid_parameter(const MSVCRT_wchar_t *expr, const MSVCRT_
int
__cdecl
MSVCRT__toupper_l
(
int
,
MSVCRT__locale_t
);
int
__cdecl
MSVCRT__tolower_l
(
int
,
MSVCRT__locale_t
);
int
__cdecl
MSVCRT__strnicoll_l
(
const
char
*
,
const
char
*
,
MSVCRT_size_t
,
MSVCRT__locale_t
);
int
__cdecl
MSVCRT_strncoll_l
(
const
char
*
,
const
char
*
,
MSVCRT_size_t
,
MSVCRT__locale_t
);
/* Maybe one day we'll enable the invalid parameter handlers with the full set of information (msvcrXXd)
* #define MSVCRT_INVALID_PMT(x) MSVCRT_call_invalid_parameter_handler(x, __FUNCTION__, __FILE__, __LINE__, 0)
...
...
dlls/msvcrt/msvcrt.spec
View file @
f5c86479
...
...
@@ -690,7 +690,7 @@
@ cdecl _mbscmp(str str)
# stub _mbscmp_l(str str ptr)
@ cdecl _mbscoll(str str)
# stub
_mbscoll_l(str str ptr)
@ cdecl
_mbscoll_l(str str ptr)
@ cdecl _mbscpy(ptr str)
# stub _mbscpy_s(ptr long str)
# stub _mbscpy_s_l(ptr long str ptr)
...
...
@@ -720,8 +720,8 @@
# stub _mbsnbcmp_l(str str long ptr)
@ cdecl _mbsnbcnt(ptr long)
# stub _mbsnbcnt_l(ptr long ptr)
@
stub
_mbsnbcoll(str str long)
# stub
_mbsnbcoll_l(str str long ptr)
@
cdecl
_mbsnbcoll(str str long)
@ cdecl
_mbsnbcoll_l(str str long ptr)
@ cdecl _mbsnbcpy(ptr str long)
# stub _mbsnbcpy_l(ptr str long ptr)
@ cdecl _mbsnbcpy_s(ptr long str long)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment