1#include <stdio.h>
2#include <string.h>
3#include <stdlib.h>
4#include <unistd.h>
5
6static const char expected[] = "\
7\n\
8a\n\
9abbcd55\
10\n\
11a\n\
12abbcd55\
13\n\
14a\n\
15abbcd55\
16\n\
17a\n\
18abbcd55\
19\n\
20a\n\
21abbcd55\
22\n\
23a\n\
24abbcd55\
25\n\
26a\n\
27abbcd55\
28\n\
29a\n\
30abbcd55\
31\n\
32a\n\
33abbcd55\
34\n\
35a\n\
36abbcd55\
37\n\
38a\n\
39abbcd55\
40\n\
41a\n\
42abbcd55\
43\n\
44a\n\
45abbcd55%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
46
47static int
48do_test (void)
49{
50 char *buf = malloc (size: strlen (expected) + 1);
51 snprintf (s: buf, maxlen: strlen (expected) + 1,
52 format: "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
53 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
54 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
55 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
56 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
57 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
58 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
59 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
60 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
61 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
62 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
63 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
64 "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
65 "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
66 "a", "b", "c", "d", 5);
67 return strcmp (buf, expected) != 0;
68}
69
70#define TEST_FUNCTION do_test ()
71#include "../test-skeleton.c"
72

source code of glibc/stdio-common/bug25.c