-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 2000.
The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
+ Lesser General Public License for more details.
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#include <ctype.h>
#include <langinfo.h>
#include <locale.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <unistd.h>
#include <wchar.h>
#include <wctype.h>
{ 123456, "%I'10d", ONE TWO THREE "," FOUR FIVE SIX },
{ 1234567, "%I'10d", ONE "," TWO THREE FOUR "," FIVE SIX SEVEN }
};
+#define nprintf_int_tests \
+ (sizeof (printf_int_tests) / sizeof (printf_int_tests[0]))
#define WZERO L"\x2080"
#define WONE L"\x2081"
{ 123456, L"%I'10d", L" " WONE WTWO WTHREE L"," WFOUR WFIVE WSIX },
{ 1234567, L"%I'10d", L" " WONE L"," WTWO WTHREE WFOUR L"," WFIVE WSIX WSEVEN }
};
+#define nwprintf_int_tests \
+ (sizeof (wprintf_int_tests) / sizeof (wprintf_int_tests[0]))
-
-int
-main (void)
+static int
+do_test (void)
{
int cnt;
int failures;
/* First: printf tests. */
failures = 0;
- for (cnt = 0; cnt < sizeof (printf_int_tests) / sizeof (printf_int_tests[0]);
- ++cnt)
+ for (cnt = 0; cnt < (int) nprintf_int_tests; ++cnt)
{
char buf[100];
ssize_t n;
printf ("%3d: got \"%s\", expected \"%s\"",
cnt, buf, printf_int_tests[cnt].expected);
- if (n != strlen (printf_int_tests[cnt].expected)
+ if (n != (ssize_t) strlen (printf_int_tests[cnt].expected)
|| strcmp (buf, printf_int_tests[cnt].expected) != 0)
{
puts (" -> FAILED");
/* wprintf tests. */
failures = 0;
- for (cnt = 0;
- cnt < sizeof (wprintf_int_tests) / sizeof (wprintf_int_tests[0]);
- ++cnt)
+ for (cnt = 0; cnt < (int) nwprintf_int_tests; ++cnt)
{
wchar_t buf[100];
ssize_t n;
printf ("%3d: got \"%ls\", expected \"%ls\"",
cnt, buf, wprintf_int_tests[cnt].expected);
- if (n != wcslen (wprintf_int_tests[cnt].expected)
+ if (n != (ssize_t) wcslen (wprintf_int_tests[cnt].expected)
|| wcscmp (buf, wprintf_int_tests[cnt].expected) != 0)
{
puts (" -> FAILED");
printf ("%d failures in wprintf tests\n", failures);
status = failures != 0;
- /* ctype tests. This makes sure that the multibyte chracter digit
+ /* ctype tests. This makes sure that the multibyte character digit
representations are not handle in this table. */
failures = 0;
for (cnt = 0; cnt < 256; ++cnt)
return status;
}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"