summary refs log tree commit diff
path: root/stdio-common/bug13.c
blob: 17b7ff9825f45338aaab6760adb54ede57956f91 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>



int
main (void)
{
  int res = 0;
  char buf[100];

#define TEST(nr, result, format, args...) \
  if (sprintf (buf, format, ## args) != result)				      \
    {									      \
      printf ("test %d failed\n", nr);					      \
      res = 1;								      \
    }

  TEST (1, 2, "%d", -1);
  TEST (2, 2, "% 2d", 1);
  TEST (3, 3, "%#x", 1);
  TEST (4, 2, "%+d", 1);
  TEST (5, 2, "% d", 1);
  TEST (6, 2, "%-d", -1);
  TEST (7, 2, "%- 2d", 1);
  TEST (8, 3, "%-#x", 1);
  TEST (9, 2, "%-+d", 1);
  TEST (10, 2, "%- d", 1);

  return res;
}