Merge branch 'master' of ssh://sources.redhat.com/git/glibc
[platform/upstream/glibc.git] / wcsmbs / tst-wcsnlen.c
1 /* Copyright (C) 1999 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, write to the Free
17    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18    02111-1307 USA.  */
19
20 #include <stdio.h>
21 #include <wchar.h>
22
23 #define TEST(Str, Max, Exp) \
24   n = wcsnlen (L##Str, Max);                                                  \
25   if (n != Exp)                                                               \
26     {                                                                         \
27       result = 1;                                                             \
28       printf ("wcsnlen (L\"%s\", %d) = %d, not %d\n", Str, Max, n, Exp);      \
29     }
30
31 int
32 main (void)
33 {
34   int result = 0;
35   int n;
36
37   TEST ("0123456789", 0, 0);
38   TEST ("0123456789", 1, 1);
39   TEST ("0123456789", 2, 2);
40   TEST ("0123456789", 3, 3);
41   TEST ("0123456789", 4, 4);
42   TEST ("0123456789", 5, 5);
43   TEST ("0123456789", 6, 6);
44   TEST ("0123456789", 7, 7);
45   TEST ("0123456789", 8, 8);
46   TEST ("0123456789", 9, 9);
47
48   TEST ("01234", 9, 5);
49
50   return result;
51 }