reactos/lib/sdk/crt/mbstring/mbstrlen.c
Timo Kreuzer 406dfdbc87 [CMAKE]
Sync trunk (rr49606)

svn path=/branches/cmake-bringup/; revision=49607
2010-11-16 13:43:39 +00:00

38 lines
819 B
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: lib/sdk/crt/mbstring/mbstrlen.c
* PURPOSE: Determines the length of a multi byte string, current locale
* PROGRAMERS:
* Copyright 1999 Alexandre Julliard
* Copyright 2000 Jon Griffths
*
*/
#include <mbstring.h>
#include <stdlib.h>
#ifdef _LIBCNT_
unsigned short *NlsLeadByteInfo;
#define isleadbyte(c) NlsLeadByteInfo[c]
#else
int isleadbyte(int byte);
#endif
/*
* @implemented
*/
size_t _mbstrlen( const char *str )
{
size_t len = 0;
while(*str)
{
/* FIXME: According to the documentation we are supposed to test for
* multi-byte character validity. Whatever that means
*/
str += isleadbyte(*str) ? 2 : 1;
len++;
}
return len;
}