summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2016-06-02 18:24:28 +0300
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-06-12 11:45:42 +0200
commite1eceda87b2fa64ab17f3e32c81b9a97edc7cac7 (patch)
tree468dfb1f0bfc8095475c60b3f6395182520b770e
parent96f2821683ec41a28b5aa6ec92245e47dfee989b (diff)
tests: add %ms scanf format test
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
-rw-r--r--test/stdio/scanf_m.c17
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;
}