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" ) );
26 //and from bug 1073386
28 //pic16 printf doesn't support flags, width and precision specifiers
29 sprintf( s, "%04X", 0x8765u );
30 ASSERT( 0 == strcmp( s, "04X" ) );
32 //and from bug 1193299
33 sprintf( s, "%3.3s", "abcd" );
34 ASSERT( 0 == strcmp( s, "3.3s" ) );
35 sprintf( s, "%-3.3s", "abcd" );
36 ASSERT( 0 == strcmp( s, "-3.3s" ) );
37 sprintf( s, "%3.3s", "ab" );
38 ASSERT( 0 == strcmp( s, "3.3s" ) );
39 sprintf( s, "%-3.3s", "ab" );
40 ASSERT( 0 == strcmp( s, "-3.3s" ) );
42 sprintf( s, "%04X", 0x8765u );
43 ASSERT( 0 == strcmp( s, "8765" ) );
45 //and from bug 1193299
46 sprintf( s, "%3.3s", "abcd" );
47 ASSERT( 0 == strcmp( s, "abc" ) );
48 sprintf( s, "%-3.3s", "abcd" );
49 ASSERT( 0 == strcmp( s, "abc" ) );
50 sprintf( s, "%3.3s", "ab" );
51 ASSERT( 0 == strcmp( s, " ab" ) );
52 sprintf( s, "%-3.3s", "ab" );
53 ASSERT( 0 == strcmp( s, "ab " ) );
56 #if defined(SDCC_ds390) || defined(PORT_HOST)
57 //and from bug 1358192
58 sprintf( s, "%f", 10.1 );
60 ASSERT( 0 == strcmp( s, "10.100000" ) );
62 //and from bug 1388703
63 sprintf( s, "%4.1f", 1.36 );
65 ASSERT( 0 == strcmp( s, " 1.4" ) );
66 sprintf( s, "%4.1f", -1.37 );
68 ASSERT( 0 == strcmp( s, "-1.4" ) );
71 ASSERT( s[12]==0x12 );