1 /* Copyright (C) 1999-2022 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3 
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8 
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13 
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <https://www.gnu.org/licenses/>.  */
17 
18 #include <stdio.h>
19 #include <wchar.h>
20 
21 #define TEST(Str, Max, Exp) \
22   n = wcsnlen (L##Str, Max);						      \
23   if (n != Exp)								      \
24     {									      \
25       result = 1;							      \
26       printf ("wcsnlen (L\"%s\", %d) = %d, not %d\n", Str, Max, n, Exp);      \
27     }
28 
29 static int
do_test(void)30 do_test (void)
31 {
32   int result = 0;
33   int n;
34 
35   TEST ("0123456789", 0, 0);
36   TEST ("0123456789", 1, 1);
37   TEST ("0123456789", 2, 2);
38   TEST ("0123456789", 3, 3);
39   TEST ("0123456789", 4, 4);
40   TEST ("0123456789", 5, 5);
41   TEST ("0123456789", 6, 6);
42   TEST ("0123456789", 7, 7);
43   TEST ("0123456789", 8, 8);
44   TEST ("0123456789", 9, 9);
45 
46   TEST ("01234", 9, 5);
47 
48   return result;
49 }
50 
51 #include <support/test-driver.c>
52