Blame


1 ae1c9bc4 2004-12-26 devnull #include <u.h>
2 ae1c9bc4 2004-12-26 devnull #include <libc.h>
3 ae1c9bc4 2004-12-26 devnull #include <stdio.h>
4 ae1c9bc4 2004-12-26 devnull
5 ae1c9bc4 2004-12-26 devnull void
6 ae1c9bc4 2004-12-26 devnull test(char *fmt, ...)
7 ae1c9bc4 2004-12-26 devnull {
8 ae1c9bc4 2004-12-26 devnull va_list arg;
9 ae1c9bc4 2004-12-26 devnull char fmtbuf[100], stdbuf[100];
10 ae1c9bc4 2004-12-26 devnull
11 ae1c9bc4 2004-12-26 devnull va_start(arg, fmt);
12 ae1c9bc4 2004-12-26 devnull vsnprint(fmtbuf, sizeof fmtbuf, fmt, arg);
13 ae1c9bc4 2004-12-26 devnull va_end(arg);
14 ae1c9bc4 2004-12-26 devnull
15 ae1c9bc4 2004-12-26 devnull va_start(arg, fmt);
16 ae1c9bc4 2004-12-26 devnull vsnprint(stdbuf, sizeof stdbuf, fmt, arg);
17 ae1c9bc4 2004-12-26 devnull va_end(arg);
18 ae1c9bc4 2004-12-26 devnull
19 ae1c9bc4 2004-12-26 devnull if(strcmp(fmtbuf, stdbuf) != 0)
20 ae1c9bc4 2004-12-26 devnull print("fmt %s: fmt=\"%s\" std=\"%s\"\n", fmt, fmtbuf, stdbuf);
21 ae1c9bc4 2004-12-26 devnull
22 ae1c9bc4 2004-12-26 devnull print("fmt %s: %s\n", fmt, fmtbuf);
23 ae1c9bc4 2004-12-26 devnull }
24 ae1c9bc4 2004-12-26 devnull
25 ae1c9bc4 2004-12-26 devnull
26 ae1c9bc4 2004-12-26 devnull int
27 ae1c9bc4 2004-12-26 devnull main(int argc, char *argv[])
28 ae1c9bc4 2004-12-26 devnull {
29 ae1c9bc4 2004-12-26 devnull test("%f", 3.14159);
30 ae1c9bc4 2004-12-26 devnull test("%f", 3.14159e10);
31 ae1c9bc4 2004-12-26 devnull test("%f", 3.14159e-10);
32 ae1c9bc4 2004-12-26 devnull
33 ae1c9bc4 2004-12-26 devnull test("%e", 3.14159);
34 ae1c9bc4 2004-12-26 devnull test("%e", 3.14159e10);
35 ae1c9bc4 2004-12-26 devnull test("%e", 3.14159e-10);
36 ae1c9bc4 2004-12-26 devnull
37 ae1c9bc4 2004-12-26 devnull test("%g", 3.14159);
38 ae1c9bc4 2004-12-26 devnull test("%g", 3.14159e10);
39 ae1c9bc4 2004-12-26 devnull test("%g", 3.14159e-10);
40 ae1c9bc4 2004-12-26 devnull
41 ae1c9bc4 2004-12-26 devnull test("%g", 2e25);
42 ae1c9bc4 2004-12-26 devnull test("%.18g", 2e25);
43 ae1c9bc4 2004-12-26 devnull
44 ae1c9bc4 2004-12-26 devnull test("%2.18g", 1.0);
45 ae1c9bc4 2004-12-26 devnull test("%2.18f", 1.0);
46 ae1c9bc4 2004-12-26 devnull test("%f", 3.1415927/4);
47 ae1c9bc4 2004-12-26 devnull
48 ae1c9bc4 2004-12-26 devnull test("%20.10d", 12345);
49 ae1c9bc4 2004-12-26 devnull test("%0.10d", 12345);
50 ae1c9bc4 2004-12-26 devnull
51 ae1c9bc4 2004-12-26 devnull return 0;
52 ae1c9bc4 2004-12-26 devnull }