diff options
Diffstat (limited to 'test/stdio')
-rw-r--r-- | test/stdio/scanf_m.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/test/stdio/scanf_m.c b/test/stdio/scanf_m.c index 0ce78b6e4..e1dde270d 100644 --- a/test/stdio/scanf_m.c +++ b/test/stdio/scanf_m.c @@ -5,20 +5,23 @@ int main(void) { const char *buf = "hello world"; - char *ps = NULL, *pc = NULL; - char s[6], c; + char *ps = NULL, *pc = NULL, *ps2 = NULL; + char s[6], c, s2[5]; - /* Check that %[...]/%c work. */ - sscanf(buf, "%[a-z] %c", s, &c); - /* Check that %m[...]/%mc work. */ - sscanf(buf, "%m[a-z] %mc", &ps, &pc); + /* Check that %[...]/%c/%s work. */ + sscanf(buf, "%[a-z] %c %s", s, &c, s2); + /* Check that %m[...]/%mc/%ms work. */ + sscanf(buf, "%m[a-z] %mc %ms", &ps, &pc, &ps2); if (strcmp(ps, "hello") != 0 || *pc != 'w' || - strcmp(s, "hello") != 0 || c != 'w') + strcmp(ps2, "orld") != 0 || + strcmp(s, "hello") != 0 || c != 'w' || + strcmp(s2, "orld") != 0) return 1; free(ps); free(pc); + free(ps2); return 0; } |