diff options
| -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;  } | 
