Index: src/libcfa/fstream
===================================================================
--- src/libcfa/fstream	(revision 2893f6d73584d6551e86a2638bf8de850f72578b)
+++ src/libcfa/fstream	(revision 9ebd7781ee3e8287d64d802062ec4ae5620c4c7b)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Mar 21 15:57:24 2017
-// Update Count     : 102
+// Last Modified On : Mon May 15 18:11:09 2017
+// Update Count     : 104
 //
 
@@ -29,17 +29,21 @@
 }; // ofstream
 
+// private
 _Bool sepPrt( ofstream * );
-void sepOn( ofstream * );
-void sepOff( ofstream * );
 void sepReset( ofstream * );
 void sepReset( ofstream *, _Bool );
 const char * sepGetCur( ofstream * );
 void sepSetCur( ofstream *, const char * );
+
+// public
+void sepOn( ofstream * );
+void sepOff( ofstream * );
+_Bool sepDisable( ofstream * );
+_Bool sepEnable( ofstream * );
+
 const char * sepGet( ofstream * );
 void sepSet( ofstream *, const char * );
 const char * sepGetTuple( ofstream * );
 void sepSetTuple( ofstream *, const char * );
-_Bool sepDisable( ofstream * );
-_Bool sepEnable( ofstream * );
 
 int fail( ofstream * );
Index: src/libcfa/fstream.c
===================================================================
--- src/libcfa/fstream.c	(revision 2893f6d73584d6551e86a2638bf8de850f72578b)
+++ src/libcfa/fstream.c	(revision 9ebd7781ee3e8287d64d802062ec4ae5620c4c7b)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Mar 23 08:20:41 2017
-// Update Count     : 226
+// Last Modified On : Mon May 15 18:11:11 2017
+// Update Count     : 234
 //
 
@@ -38,28 +38,14 @@
 }
 
+// private
 _Bool sepPrt( ofstream * os ) { return os->sepOnOff; }
+void sepReset( ofstream * os ) { os->sepOnOff = os->sepDefault; }
+void sepReset( ofstream * os, _Bool reset ) { os->sepDefault = reset; os->sepOnOff = os->sepDefault; }
+const char * sepGetCur( ofstream * os ) { return os->sepCur; }
+void sepSetCur( ofstream * os, const char * sepCur ) { os->sepCur = sepCur; }
+
+// public
 void sepOn( ofstream * os ) { os->sepOnOff = 1; }
 void sepOff( ofstream * os ) { os->sepOnOff = 0; }
-void sepReset( ofstream * os ) { os->sepOnOff = os->sepDefault; }
-void sepReset( ofstream * os, _Bool reset ) { os->sepDefault = reset; os->sepOnOff = os->sepDefault; }
-
-const char * sepGetCur( ofstream * os ) { return os->sepCur; }
-void sepSetCur( ofstream * os, const char * sepCur ) { os->sepCur = sepCur; }
-
-const char * sepGet( ofstream * os ) { return os->separator; }
-
-void sepSet( ofstream * os, const char * s ) {
-	assert( s );
-	strncpy( os->separator, s, separateSize - 1 );
-	os->separator[separateSize - 1] = '\0';
-} // sepSet
-
-const char * sepGetTuple( ofstream * os ) { return os->tupleSeparator; }
-
-void sepSetTuple( ofstream * os, const char * s ) {
-	assert( s );
-	strncpy( os->tupleSeparator, s, separateSize - 1 );
-	os->tupleSeparator[separateSize - 1] = '\0';
-} // sepSet
 
 _Bool sepDisable( ofstream *os ) {
@@ -73,7 +59,21 @@
 	_Bool temp = os->sepDefault;
 	os->sepDefault = true;
-	sepReset( os );
+	if ( os->sepOnOff ) sepReset( os );					// start of line ?
 	return temp;
 } // sepEnable
+
+const char * sepGet( ofstream * os ) { return os->separator; }
+void sepSet( ofstream * os, const char * s ) {
+	assert( s );
+	strncpy( os->separator, s, separateSize - 1 );
+	os->separator[separateSize - 1] = '\0';
+} // sepSet
+
+const char * sepGetTuple( ofstream * os ) { return os->tupleSeparator; }
+void sepSetTuple( ofstream * os, const char * s ) {
+	assert( s );
+	strncpy( os->tupleSeparator, s, separateSize - 1 );
+	os->tupleSeparator[separateSize - 1] = '\0';
+} // sepSet
 
 int fail( ofstream * os ) {
Index: src/libcfa/iostream
===================================================================
--- src/libcfa/iostream	(revision 2893f6d73584d6551e86a2638bf8de850f72578b)
+++ src/libcfa/iostream	(revision 9ebd7781ee3e8287d64d802062ec4ae5620c4c7b)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Mar 21 15:57:29 2017
-// Update Count     : 104
+// Last Modified On : Mon May 15 18:08:44 2017
+// Update Count     : 105
 //
 
@@ -20,17 +20,20 @@
 
 trait ostream( dtype ostype ) {
+	// private
 	_Bool sepPrt( ostype * );							// return separator state (on/off)
-	void sepOn( ostype * );								// turn separator state on
-	void sepOff( ostype * );							// turn separator state off
 	void sepReset( ostype * );							// set separator state to default state
 	void sepReset( ostype *, _Bool );					// set separator and default state
 	const char * sepGetCur( ostype * );					// get current separator string
 	void sepSetCur( ostype *, const char * );			// set current separator string
+	// public
+	void sepOn( ostype * );								// turn separator state on
+	void sepOff( ostype * );							// turn separator state off
+	_Bool sepDisable( ostype * );						// set default state to off, and return previous state
+	_Bool sepEnable( ostype * );						// set default state to on, and return previous state
+
 	const char * sepGet( ostype * );					// get separator string
 	void sepSet( ostype *, const char * );				// set separator to string (15 character maximum)
 	const char * sepGetTuple( ostype * );				// get tuple separator string
 	void sepSetTuple( ostype *, const char * );			// set tuple separator to string (15 character maximum)
-	_Bool sepDisable( ostype * );						// set default state to off, and return previous state
-	_Bool sepEnable( ostype * );						// set default state to on, and return previous state
 
 	int fail( ostype * );
