Index: libcfa/src/iostream.cfa
===================================================================
--- libcfa/src/iostream.cfa	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
+++ libcfa/src/iostream.cfa	(revision 8cffa4f21ad8d447fa5f37d523e6acfb4906f3d0)
@@ -1011,9 +1011,12 @@
 
 		int check = f.wd - 2;
-		if ( ! f.flags.rwd ) f.s[check] = '\0';			// insert sentinel
+		if (! f.flags.ignore ) {
+			f.s[0] = '\0';
+			if ( ! f.flags.rwd ) f.s[check] = '\0';		// insert sentinel
+		}
 		len = fmt( is, fmtstr, f.s );
 		//fprintf( stderr, "KK %s %zd %d %c %s\n", fmtstr, len, check, f.s[check], f.s );
 
-		if ( ! f.flags.rwd && f.s[check] != '\0' )		// sentinel overwritten ?
+		if (! f.flags.ignore && ! f.flags.rwd && f.s[check] != '\0' ) // sentinel overwritten ?
 			throw (cstring_length){ &cstring_length_vt };
 
Index: tests/collections/.expect/string-istream-manip.txt
===================================================================
--- tests/collections/.expect/string-istream-manip.txt	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
+++ tests/collections/.expect/string-istream-manip.txt	(revision 8cffa4f21ad8d447fa5f37d523e6acfb4906f3d0)
@@ -12,4 +12,6 @@
 12 wwwwwwww
 13 wwwwwwww
+14 cccc
+15 
 1 yyyyyyyyyyyyyyyyyyyy
 2 abcxxx
@@ -25,2 +27,4 @@
 12 wwwwwwww
 13 wwwwwwww
+14 cccc
+15 
Index: tests/collections/.in/string-istream-manip.txt
===================================================================
--- tests/collections/.in/string-istream-manip.txt	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
+++ tests/collections/.in/string-istream-manip.txt	(revision 8cffa4f21ad8d447fa5f37d523e6acfb4906f3d0)
@@ -5,4 +5,5 @@
 abcyyy
 aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
+uuuuuccccuuuuu
 abc 
 cccccb 
@@ -11,2 +12,3 @@
 abcyyy
 aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
+uuuuuccccuuuuu
Index: tests/collections/string-istream-manip.cfa
===================================================================
--- tests/collections/string-istream-manip.cfa	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
+++ tests/collections/string-istream-manip.cfa	(revision 8cffa4f21ad8d447fa5f37d523e6acfb4906f3d0)
@@ -23,5 +23,12 @@
         sin | ignore( incl( "abc", wdi( 8, s ) ) );     sout | "12" | s;
         sin | ignore( excl( "abc", wdi( 8, s ) ) );     sout | "13" | s;
-    }
+
+		s = "q";
+		sin | incl( "abc", s );                         sout | "14" | s;
+		s = "q";
+		sin | excl( "u", s );                           sout | "15" | s;
+		sin | skip( "u" );
+		sin | "\n";
+	}
     {
         string_res s = "yyyyyyyyyyyyyyyyyyyy";
@@ -41,4 +48,11 @@
         sin | ignore( incl( "abc", wdi( 8, s ) ) );     sout | "12" | s;
         sin | ignore( excl( "abc", wdi( 8, s ) ) );     sout | "13" | s;
+
+		s = "q";
+		sin | incl( "abc", s );                         sout | "14" | s;
+		s = "q";
+		sin | excl( "u", s );                           sout | "15" | s;
+		sin | skip( "u" );
+		sin | "\n";
     }
 }
Index: tests/io/.expect/manipulatorsInput.arm64.txt
===================================================================
--- tests/io/.expect/manipulatorsInput.arm64.txt	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
+++ tests/io/.expect/manipulatorsInput.arm64.txt	(revision 8cffa4f21ad8d447fa5f37d523e6acfb4906f3d0)
@@ -15,4 +15,6 @@
 12 wwwwwwww
 13 wwwwwwww
+14 rc=1, cccc
+15 rc=0, q
 1 yyyyyyyyyyyyyyyyyyyy
 2 abcxxx
@@ -28,4 +30,6 @@
 12 wwwwwwww
 13 wwwwwwww
+14 cccc
+15
 a
 a
Index: tests/io/.expect/manipulatorsInput.x64.txt
===================================================================
--- tests/io/.expect/manipulatorsInput.x64.txt	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
+++ tests/io/.expect/manipulatorsInput.x64.txt	(revision 8cffa4f21ad8d447fa5f37d523e6acfb4906f3d0)
@@ -15,4 +15,6 @@
 12 wwwwwwww
 13 wwwwwwww
+14 rc=1, cccc
+15 rc=0, q
 1 yyyyyyyyyyyyyyyyyyyy
 2 abcxxx
@@ -28,4 +30,6 @@
 12 wwwwwwww
 13 wwwwwwww
+14 cccc
+15
 a
 a
Index: tests/io/.expect/manipulatorsInput.x86.txt
===================================================================
--- tests/io/.expect/manipulatorsInput.x86.txt	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
+++ tests/io/.expect/manipulatorsInput.x86.txt	(revision 8cffa4f21ad8d447fa5f37d523e6acfb4906f3d0)
@@ -15,4 +15,6 @@
 12 wwwwwwww
 13 wwwwwwww
+14 rc=1, cccc
+15 rc=0, q
 1 yyyyyyyyyyyyyyyyyyyy
 2 abcxxx
@@ -28,4 +30,6 @@
 12 wwwwwwww
 13 wwwwwwww
+14 cccc
+15
 a
 a
Index: tests/io/.in/manipulatorsInput.txt
===================================================================
--- tests/io/.in/manipulatorsInput.txt	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
+++ tests/io/.in/manipulatorsInput.txt	(revision 8cffa4f21ad8d447fa5f37d523e6acfb4906f3d0)
@@ -7,4 +7,5 @@
 abcyyy
 aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
+uuuuuccccuuuuu
 abc 
 cccccb 
@@ -13,4 +14,5 @@
 abcyyy
 aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
+uuuuuccccuuuuu
 ab
 0xff 017 15-15
Index: tests/io/manipulatorsInput.cfa
===================================================================
--- tests/io/manipulatorsInput.cfa	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
+++ tests/io/manipulatorsInput.cfa	(revision 8cffa4f21ad8d447fa5f37d523e6acfb4906f3d0)
@@ -67,4 +67,12 @@
 		scanf( "%*8[abc]" );							printf( "12 %s\n", s );
 		scanf( "%*8[^abc]" );							printf( "13 %s\n", s );
+
+		int rc;
+		s[0] = 'q'; s[1] = '\0'; rc = 99;
+		rc = scanf( "%[abc]", s );						printf( "14 rc=%d, %s\n", rc, s );
+		s[0] = 'q'; s[1] = '\0'; rc = 99;
+		rc = scanf( "%[^u]", s );						printf( "15 rc=%d, %s\n", rc, s );
+		scanf( "%*[u]" );
+		scanf("\n");
 	}
 	{
@@ -85,4 +93,11 @@
 		sin | ignore( incl( "abc", wdi( sizeof(s), 8, s ) ) ); sout | "12" | s;
 		sin | ignore( excl( "abc", wdi( sizeof(s), 8, s ) ) ); sout | "13" | s;
+
+		s[0] = 'q'; s[1] = '\0';
+		sin | incl( "abc", wdi( sizeof(s), s ) );		sout | "14" | s;
+		s[0] = 'q'; s[1] = '\0';
+		sin | excl( "u", wdi( sizeof(s), s ) );			sout | "15" | s;
+		sin | skip( "u" );
+		sin | "\n";
 	}
     /* Keep harmonized with collections/string-istream-manip */
