]> pd.if.org Git - pdclib/blob - functions/string/strnlen.c
c5012e26a8b7649886b8063ede1d1c3f5d26f1d9
[pdclib] / functions / string / strnlen.c
1 /* $Id$ */\r
2 \r
3 /* strnlen( const char *, size_t len )\r
4 \r
5    This file is part of the Public Domain C Library (PDCLib).\r
6    Permission is granted to use, modify, and / or redistribute at will.\r
7 */\r
8 \r
9 #include <string.h>\r
10 #include <stdint.h>\r
11 \r
12 #ifndef REGTEST\r
13 \r
14 size_t strnlen( const char * s, size_t maxlen )\r
15 {\r
16     for( size_t len = 0; len != maxlen; len++ )\r
17     {\r
18         if(s[len] == '\0')\r
19             return len;\r
20     }\r
21     return maxlen;\r
22 }\r
23 \r
24 #endif\r
25 \r
26 #ifdef TEST\r
27 #include <_PDCLIB_test.h>\r
28 \r
29 int main( void )\r
30 {\r
31 #ifndef REGTEST\r
32     TESTCASE( strnlen( abcde, 5 ) == 5 );\r
33     TESTCASE( strnlen( abcde, 3 ) == 3 )\r
34     TESTCASE( strnlen( "", SIZE_MAX ) == 0 );\r
35 #endif\r
36     return TEST_RESULTS;\r
37 }\r
38 #endif\r