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 |
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 | |