Browse Source

tests: add %ms scanf format test

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Max Filippov 8 years ago
parent
commit
e1eceda87b
1 changed files with 10 additions and 7 deletions
  1. 10 7
      test/stdio/scanf_m.c

+ 10 - 7
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;
 }