diff options
Diffstat (limited to 'usr/klibc/tests/sscanf.c')
-rw-r--r-- | usr/klibc/tests/sscanf.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/usr/klibc/tests/sscanf.c b/usr/klibc/tests/sscanf.c new file mode 100644 index 0000000..c06aae4 --- /dev/null +++ b/usr/klibc/tests/sscanf.c @@ -0,0 +1,36 @@ +#include <stdio.h> + +int main() +{ + int ret, err = 0, e1, e2; + const char a1[] = "3.0", a2[] = "-12,1000"; + + /* int tests */ + ret = sscanf(a1, "%1d", &e1); + if (ret != 1) { + printf("Error wrong sscanf int return %d.\n", ret); + err++; + } + if (e1 != 3) { + printf("Error wrong sscanf int reading %d.\n", e1); + err++; + } + ret = sscanf(a2, "%3d,%4d", &e1, &e2); + if (ret != 2) { + printf("Error wrong sscanf int return %d.\n", ret); + err++; + } + if (e1 != -12) { + printf("Error wrong sscanf int reading %d.\n", e1); + err++; + } + if (e2 != 1000) { + printf("Error wrong sscanf int reading %d.\n", e2); + err++; + } + /* XXX: add more int tests */ + + if (err) + return err; + return 0; +} |