Index: libcfa/src/iostream.cfa
===================================================================
--- libcfa/src/iostream.cfa	(revision c680a4ba5e93338ec036f1c5135c217e61c20ac1)
+++ libcfa/src/iostream.cfa	(revision fd4d3017a6c341cbc364e580b8b6740cb795380c)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Apr 26 20:31:36 2020
-// Update Count     : 985
+// Last Modified On : Wed Apr 29 07:44:02 2020
+// Update Count     : 994
 //
 
@@ -479,5 +479,5 @@
 				fmt( os, "0%c", f.base ); \
 			} /* if */ \
-			int shift = (bits - 1) / 4 * 4; /* floor( bits - 1, 4 ) */ \
+			int shift = floor( bits - 1, 4 ); \
 			typeof( f.val ) temp = f.val; \
 			fmt( os, "%s", shortbin[(temp >> shift) & 0xf] ); \
@@ -599,5 +599,5 @@
 						fmt.wd = 0; \
 						/* if ( fmt2.val > 1 && fmt.flags.pc && fmt.pc > 0 ) fmt.pc -= 1; */ \
-						/* printf( "L %llo %llo %llo %llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt2.val, fmt.wd, fmt.pc, fmt.base, fmt.all ); */ \
+						/* printf( "L %llo %llo %llo %d %d '%c' %x %llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt.wd, fmt.pc, fmt.base, fmt.all, fmt2.val, fmt2.wd, fmt2.pc, fmt2.base, fmt2.all ); */ \
 						(ostype &)(os | fmt | "" | fmt2); \
 						sepOff( os ); \
@@ -605,5 +605,5 @@
 						int msigd = ceiling( high1( fmt.val ), 3 ) + 1; \
 						fmt2.wd = f.wd - (fmt.pc > msigd ? fmt.pc : msigd) - 1; \
-						if ( fmt2.wd < 21 ) fmt2.wd = 21; \
+						if ( (int)fmt2.wd < 21 ) fmt2.wd = 21; /* cast deals with negative value */ \
 						fmt2.flags.pc = true; fmt2.pc = 21; \
 					} else { \
@@ -612,5 +612,5 @@
 						/*if ( ! fmt.flags.nobsdp && fmt.pc < fmt.wd ) fmt.wd -= 1;*/ \
 						fmt2.wd = 1; \
-						/* printf( "R %llo %llo %llo %llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt2.val, fmt.wd, fmt.pc, fmt.base, fmt.all ); */ \
+						/* printf( "R %llo %llo %llo %d %d '%c' %x %llo %d %d '%c' %x\n", msig, lsig, fmt.val, fmt.wd, fmt.pc, fmt.base, fmt.all, fmt2.val, fmt2.wd, fmt2.pc, fmt2.base, fmt2.all ); */ \
 						(ostype &)(os | fmt | "" | fmt2); \
 						sepOff( os ); \
