commit ae1c9bc4abbd66d522a82fde4cf631c2678f742c from: rsc date: Sun Dec 26 23:07:49 2004 UTC more tests commit - df121a0027e6dc08abe6fc907c9af2593a263c17 commit + ae1c9bc4abbd66d522a82fde4cf631c2678f742c blob - /dev/null blob + 715fcd5baa27edc1e7d59007ef821fc1d9dbe65e (mode 644) --- /dev/null +++ src/lib9/fmt/test2.c @@ -0,0 +1,9 @@ +#include +#include +#include + +int +main(int argc, char **argv) +{ + print("%020.10d\n", 100); +} blob - /dev/null blob + 7cda8dcbdddf889fc5a23d62619b00489efc49bf (mode 644) --- /dev/null +++ src/lib9/fmt/test3.c @@ -0,0 +1,52 @@ +#include +#include +#include + +void +test(char *fmt, ...) +{ + va_list arg; + char fmtbuf[100], stdbuf[100]; + + va_start(arg, fmt); + vsnprint(fmtbuf, sizeof fmtbuf, fmt, arg); + va_end(arg); + + va_start(arg, fmt); + vsnprint(stdbuf, sizeof stdbuf, fmt, arg); + va_end(arg); + + if(strcmp(fmtbuf, stdbuf) != 0) + print("fmt %s: fmt=\"%s\" std=\"%s\"\n", fmt, fmtbuf, stdbuf); + + print("fmt %s: %s\n", fmt, fmtbuf); +} + + +int +main(int argc, char *argv[]) +{ + test("%f", 3.14159); + test("%f", 3.14159e10); + test("%f", 3.14159e-10); + + test("%e", 3.14159); + test("%e", 3.14159e10); + test("%e", 3.14159e-10); + + test("%g", 3.14159); + test("%g", 3.14159e10); + test("%g", 3.14159e-10); + + test("%g", 2e25); + test("%.18g", 2e25); + + test("%2.18g", 1.0); + test("%2.18f", 1.0); + test("%f", 3.1415927/4); + + test("%20.10d", 12345); + test("%0.10d", 12345); + + return 0; +}