+ /* testing %c */
+ memset( buffer, '\0', 100 );
+ SCANF_TEST( 1, "x", "%c", buffer );
+ TESTCASE( memcmp( buffer, "x\0", 2 ) == 0 );
+ /* testing %s */
+ memset( buffer, '\0', 100 );
+ SCANF_TEST( 1, "foo bar", "%s", buffer );
+ TESTCASE( memcmp( buffer, "foo\0", 4 ) == 0 );
+#ifndef TEST_CONVERSION_ONLY
+ SCANF_TEST( 2, "foo bar baz", "%s %s %n", buffer, buffer + 4, &u );
+ TESTCASE( u == 9 );
+ TESTCASE( memcmp( buffer, "foo\0bar\0", 8 ) == 0 );
+#endif
+ /* testing %[ */
+ SCANF_TEST( 1, "abcdefg", "%[cba]", buffer );
+ TESTCASE( memcmp( buffer, "abc\0", 4 ) == 0 );
+ /* testing %p */
+ p = NULL;
+ sprintf( buffer, "%p", p );
+ p = &i;
+ SCANF_TEST( 1, buffer, "%p", &p );
+ TESTCASE( p == NULL );
+ p = &i;
+ sprintf( buffer, "%p", p );
+ p = NULL;
+ SCANF_TEST( 1, buffer, "%p", &p );
+ TESTCASE( p == &i );