doc: Document version-etc, version-etc, and argp-version-etc.
[gnulib.git] / tests / test-szprintf-gnu.h
blob88f160777c4728c1564191d4c19a36fb20ed3697
1 /* Test of POSIX and GNU compatible vszprintf() and szprintf() functions.
2 Copyright (C) 2007-2025 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 This program 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
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <https://www.gnu.org/licenses/>. */
17 /* Written by Bruno Haible <bruno@clisp.org>, 2024. */
19 /* This test exercises only a few POSIX compliance problems that are still
20 visible on platforms relevant in 2024. For a much more complete test suite,
21 see test-sprintf-posix.h. */
23 static void
24 test_function (ptrdiff_t (*my_szprintf) (char *, const char *, ...))
26 char result[5000];
28 /* Test the support of the 'B' conversion specifier for binary output of
29 integers. */
31 { /* This test would fail on all platforms other than glibc ≥ 2.35. */
32 ptrdiff_t retval =
33 my_szprintf (result, "%#B %d", 12345, 33, 44, 55);
34 ASSERT (strcmp (result, "0B11000000111001 33") == 0);
35 ASSERT (retval == strlen (result));