Index: src/libcfa/iostream.c
===================================================================
--- src/libcfa/iostream.c	(revision bd8540001c298d12d68dabcd274a24ed5a4dfb7a)
+++ src/libcfa/iostream.c	(revision 52f85e0c522e3914bc6c3fa98cf315bdf8c09347)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Feb  1 14:20:30 2016
-// Update Count     : 60
+// Last Modified On : Wed Feb 10 15:48:46 2016
+// Update Count     : 66
 //
 
@@ -19,4 +19,5 @@
 #include <stdio.h>
 #include <string.h>										// strlen
+#include <float.h>										// DBL_DIG, LDBL_DIG
 #include <complex.h>									// creal, cimag
 }
@@ -72,5 +73,5 @@
 ostype * ?|?( ostype *os, double d ) {
 	char buffer[32];
-	return write( os, buffer, sprintf( buffer, "%g", d ) );
+	return write( os, buffer, sprintf( buffer, "%.*lg", DBL_DIG, d ) );
 } // ?|?
 
@@ -78,5 +79,5 @@
 ostype * ?|?( ostype *os, long double d ) {
 	char buffer[32];
-	return write( os, buffer, sprintf( buffer, "%Lg", d ) );
+	return write( os, buffer, sprintf( buffer, "%.*Lg", LDBL_DIG, d ) );
 } // ?|?
 
Index: src/libcfa/stdlib.c
===================================================================
--- src/libcfa/stdlib.c	(revision bd8540001c298d12d68dabcd274a24ed5a4dfb7a)
+++ src/libcfa/stdlib.c	(revision 52f85e0c522e3914bc6c3fa98cf315bdf8c09347)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:10:29 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Feb  5 15:41:24 2016
-// Update Count     : 128
+// Last Modified On : Wed Feb 10 15:45:56 2016
+// Update Count     : 140
 //
 
@@ -23,5 +23,4 @@
 #include <string.h>										// memset
 #include <malloc.h>										// malloc_usable_size
-#include <stdio.h>
 #include <math.h>										// fabsf, fabs, fabsl
 #include <complex.h>									// _Complex_I, cabsf, cabs, cabsl
@@ -106,51 +105,50 @@
 long int ato( const char * ptr ) {
 	long int li;
-	if ( sscanf( ptr, "%ld", &li ) == EOF ) {};			// check return code
+	if ( sscanf( ptr, "%ld", &li ) == EOF ) {}			// check return code
 	return li;
 }
 unsigned long int ato( const char * ptr ) {
 	unsigned long int uli;
-	if ( sscanf( ptr, "%lu", &uli ) == EOF ) {};		// check return code
+	if ( sscanf( ptr, "%lu", &uli ) == EOF ) {}			// check return code
 	return uli;
 }
 long long int ato( const char * ptr ) {
 	long long int lli;
-	if ( sscanf( ptr, "%lld", &lli ) == EOF ) {};		// check return code
+	if ( sscanf( ptr, "%lld", &lli ) == EOF ) {}		// check return code
 	return lli;
 }
 unsigned long long int ato( const char * ptr ) {
 	unsigned long long int ulli;
-	if ( sscanf( ptr, "%llu", &ulli ) == EOF ) {};		// check return code
+	if ( sscanf( ptr, "%llu", &ulli ) == EOF ) {}		// check return code
 	return ulli;
 }
 float ato( const char * ptr ) {
 	float f;
-	if ( sscanf( ptr, "%f", &f ) == EOF ) {};			// check return code
+	if ( sscanf( ptr, "%f", &f ) == EOF ) {}			// check return code
 	return f;
 }
 double ato( const char * ptr ) {
 	double d;
-	if ( sscanf( ptr, "%lf", &d ) == EOF ) {};			// check return code
+	if ( sscanf( ptr, "%lf", &d ) == EOF ) {}			// check return code
 	return d;
 }
 long double ato( const char * ptr ) {
 	long double ld;
-	printf( "FRED " );
-	if ( sscanf( ptr, "%.32Lf", &ld ) == EOF ) {};		// check return code
+	if ( sscanf( ptr, "%Lf", &ld ) == EOF ) {}			// check return code
 	return ld;
 }
 float _Complex ato( const char * ptr ) {
 	float re, im;
-	if ( sscanf( ptr, "%g%g", &re, &im ) == EOF ) {};	// check return code
+	if ( sscanf( ptr, "%g%gi", &re, &im ) == EOF ) {}	// check return code
 	return re + im * _Complex_I;
 }
 double _Complex ato( const char * ptr ) {
 	double re, im;
-	if ( sscanf( ptr, "%.16lg%.16lg", &re, &im ) == EOF ) {}; // check return code
+	if ( sscanf( ptr, "%lf%lfi", &re, &im ) == EOF ) {} // check return code
 	return re + im * _Complex_I;
 }
 long double _Complex ato( const char * ptr ) {
 	long double re, im;
-	if ( sscanf( ptr, "%.32Lg%.32Lg", &re, &im ) == EOF ) {}; // check return code
+	if ( sscanf( ptr, "%Lf%Lfi", &re, &im ) == EOF ) {}	// check return code
 	return re + im * _Complex_I;
 }	
