Index: libcfa/src/iostream.cfa
===================================================================
--- libcfa/src/iostream.cfa	(revision 2c60c644485bb2b0c526759b223e8b28744750f9)
+++ libcfa/src/iostream.cfa	(revision ac9ba1221f5ae62a281f366c7979b7e1070e0826)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jul  5 08:14:07 2020
-// Update Count     : 1063
+// Last Modified On : Mon Jul  6 08:49:48 2020
+// Update Count     : 1064
 //
 
@@ -674,11 +674,11 @@
 		base_128( os, val / power, power, f, maxdig, bits, cnt + 1 ); // recursive
 		f.val = val % power;
-		if ( cnt == 1 && f.flags.left ) { wd = f.wd; f.wd = maxdig; } // copy f.wd across printing of middle value
+		if ( cnt == 1 && f.flags.left ) { wd = f.wd; f.wd = maxdig; } // copy f.wd and reset for printing middle chunk
 		(ostype &)(os | f);
 		if ( cnt == 1 ) {
-			if ( f.flags.left ) { wd -= maxdig; f.wd = wd < 0 ? 1 : wd; }
+			if ( f.flags.left ) { wd -= maxdig; f.wd = wd < 0 ? 1 : wd; } // update and restore f.wd for printing end chunk
 			sepOff( os );								// no seperator between chunks
 		} // if
-	} else {
+	} else {											// print start chunk
 		f.val = val;
 		// f.pc is unsigned => use wd
@@ -693,5 +693,5 @@
 			if ( cnt != 0 ) {							// value >= 2^64 ?
 				unsigned int dig, bs = 0;
-				// compute size of prefix base and digits
+				// compute size of prefix digits and base
 				if ( f.base == 'd' || f.base == 'u' ) {	// no base prefix
 					dig = ceil( log10( f.val ) );		// use floating-point
@@ -717,10 +717,12 @@
 		(ostype &)(os | f);
 
+		// remaining middle and end chunks are padded with 0s on the left
 		if ( ! f.flags.left ) { f.flags.pad0 = true; f.flags.pc = false; } // left pad with 0s
 		else { f.pc = maxdig; f.flags.pc = true; }		// left pad with precision
+
 		if ( cnt != 0 ) sepOff( os );					// no seperator between chunks
-		f.wd = wd;
-		f.flags.sign = false;							// no +/- sign
-		f.flags.nobsdp = true;							// no base prefix
+		f.wd = wd;										// reset f.wd for next chunk
+		f.flags.sign = false;							// no leading +/- sign
+		f.flags.nobsdp = true;							// no leading base prefix
 	} // if
 } // base_128
