From e1eceda87b2fa64ab17f3e32c81b9a97edc7cac7 Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Thu, 2 Jun 2016 18:24:28 +0300 Subject: tests: add %ms scanf format test Signed-off-by: Max Filippov --- test/stdio/scanf_m.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'test') 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; } -- cgit v1.2.3