ReactOS
0.4.15-dev-7934-g1dc8d80
mbstrlen.c
Go to the documentation of this file.
1
/*
2
* COPYRIGHT: See COPYING in the top level directory
3
* PROJECT: ReactOS system libraries
4
* FILE: lib/sdk/crt/mbstring/mbstrlen.c
5
* PURPOSE: Determines the length of a multi byte string, current locale
6
* PROGRAMERS:
7
* Copyright 1999 Alexandre Julliard
8
* Copyright 2000 Jon Griffths
9
*
10
*/
11
12
#include <mbstring.h>
13
#include <stdlib.h>
14
15
#ifdef _LIBCNT_
16
unsigned
short
*
NlsLeadByteInfo
;
17
#define isleadbyte(c) NlsLeadByteInfo[c]
18
#else
19
int
isleadbyte
(
int
byte
);
20
#endif
21
22
/*
23
* @implemented
24
*/
25
size_t
__cdecl
_mbstrlen
(
const
char
*
str
)
26
{
27
size_t
len
= 0;
28
while
(*
str
)
29
{
30
/* FIXME: According to the documentation we are supposed to test for
31
* multi-byte character validity. Whatever that means
32
*/
33
str
+=
isleadbyte
((
unsigned
char
)*
str
) ? 2 : 1;
34
len
++;
35
}
36
return
len
;
37
}
__cdecl
#define __cdecl
Definition:
accygwin.h:79
len
GLenum GLsizei len
Definition:
glext.h:6722
isleadbyte
#define isleadbyte(_c)
Definition:
wchar.h:596
_mbstrlen
size_t __cdecl _mbstrlen(const char *str)
Definition:
mbstrlen.c:25
str
const WCHAR * str
Definition:
rpc_transport.c:2724
NlsLeadByteInfo
PUSHORT NlsLeadByteInfo
Definition:
nls.c:26
sdk
lib
crt
mbstring
mbstrlen.c
Generated on Tue Apr 23 2024 06:13:03 for ReactOS by
1.9.6