Imported Upstream version 2.9.0
[debian/cc1111] / support / regression / tests / bug-927659.c
1 /* bug-927659.c
2
3    double processing resp. reversing of params
4 */
5
6 #include <testfwk.h>
7 #include <stdarg.h>
8 #include <stdio.h>
9
10 unsigned char
11 foo(unsigned char a, ...) REENTRANT
12 {
13   va_list argptr;
14   unsigned char b;
15
16   va_start (argptr, a);
17   b = va_arg (argptr, int);
18   va_end (argptr);
19
20   return b;
21 }
22
23 unsigned char
24 bar(unsigned char a, unsigned char b) REENTRANT
25 {
26   return b / a;
27 }
28
29 void
30 testReverse(void)
31 {
32   ASSERT(foo (0, bar (1, 2)) == 2);
33 }
34
35 /*************************************************************/
36
37 void
38 testAddFunc(void)
39 {
40   char buf[5];
41   unsigned char count = 0;
42
43   count += sprintf (buf, "%d", 5);
44   ASSERT(count == 1 &&
45          buf[0] == '5' &&
46          buf[1] == '\0');
47 }