Index: libcfa/src/iostream.cfa
===================================================================
--- libcfa/src/iostream.cfa	(revision 11ab0b4ac211d6b0761a6a74682cd8bc401333bc)
+++ libcfa/src/iostream.cfa	(revision bf1cbde8549594a47893ee6d678e5552340e47a3)
@@ -960,5 +960,16 @@
 	istype & ?|?( istype & is, _Istream_Cskip f ) {
 		// printf( "skip %s %d\n", f.scanset, f.wd );
-		if ( f.scanset ) fmt( is, f.scanset, "" );		// no input arguments
+		if ( f.scanset ) {
+			int nscanset = strlen(f.scanset);
+			char fmtstr[ sizeof("%*[]") + nscanset ];
+			int pos = 0;
+			fmtstr[pos] = '%';                  pos += 1;
+			fmtstr[pos] = '*';                  pos += 1;
+			fmtstr[pos] = '[';                  pos += 1;
+			strcpy( &fmtstr[pos], f.scanset );  pos += nscanset;
+			fmtstr[pos] = ']';                  pos += 1;
+			fmtstr[pos] = '\0';
+			fmt( is, fmtstr, (void*)0 );  // last arg is dummy: suppress gcc warning
+		}
 		else for ( f.wd ) fmt( is, "%*c" );
 		return is;
