* device/lib/printf_large.c (_print_format): fixed bug 1073386,
[fw/sdcc] / support / regression / tests / bug1057979.c
1 /*
2    bug1057979.c
3 */
4
5 #include <testfwk.h>
6 #include <stdlib.h>
7 #include <string.h>
8 #include <stdio.h>
9
10 char s[12+1];
11
12 void
13 test_sprintf(void)
14 {
15   s[12] = 0x12;
16
17   sprintf( s, "%d", 99 );
18   ASSERT( 0 == strcmp( s, "99" ) );
19   sprintf( s, "%d", 100 );
20   ASSERT( 0 == strcmp( s, "100" ) );
21   sprintf( s, "%d", 2004 );
22   ASSERT( 0 == strcmp( s, "2004" ) );
23   sprintf( s, "%ld", 2147483647L );
24   ASSERT( 0 == strcmp( s, "2147483647" ) );
25
26   //and from bug 1073386
27   sprintf( s, "%04X", 0x8765u );
28   ASSERT( 0 == strcmp( s, "8765" ) );
29
30   ASSERT( s[12]==0x12 );
31 }