Index: src/libcfa/iostream.c
===================================================================
--- src/libcfa/iostream.c	(revision e1780a25bb3bcc2a648b6f83ef973a84ff0e7ca4)
+++ src/libcfa/iostream.c	(revision 28e58fd3419f0fb2ea29ff25f12b79f2d6153feb)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Aug  9 16:46:51 2017
-// Update Count     : 401
+// Last Modified On : Thu Aug 24 08:41:53 2017
+// Update Count     : 405
 //
 
@@ -271,98 +271,98 @@
 
 forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, char * c ) {
-	fmt( is, "%c", c );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, short int * si ) {
-	fmt( is, "%hd", si );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, unsigned short int * usi ) {
-	fmt( is, "%hu", usi );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, int * i ) {
-	fmt( is, "%d", i );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, unsigned int * ui ) {
-	fmt( is, "%u", ui );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, long int * li ) {
-	fmt( is, "%ld", li );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, unsigned long int * ulli ) {
-	fmt( is, "%lu", ulli );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, long long int * lli ) {
-	fmt( is, "%lld", lli );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, unsigned long long int * ulli ) {
-	fmt( is, "%llu", ulli );
-	return is;
-} // ?|?
-
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, float * f ) {
-	fmt( is, "%f", f );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, double * d ) {
-	fmt( is, "%lf", d );
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, long double * ld ) {
-	fmt( is, "%Lf", ld );
-	return is;
-} // ?|?
-
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, float _Complex * fc ) {
+istype * ?|?( istype * is, char & c ) {
+	fmt( is, "%c", &c );								// must pass pointer through varg to fmt
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, short int & si ) {
+	fmt( is, "%hd", &si );
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, unsigned short int & usi ) {
+	fmt( is, "%hu", &usi );
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, int & i ) {
+	fmt( is, "%d", &i );
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, unsigned int & ui ) {
+	fmt( is, "%u", &ui );
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, long int & li ) {
+	fmt( is, "%ld", &li );
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, unsigned long int & ulli ) {
+	fmt( is, "%lu", &ulli );
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, long long int & lli ) {
+	fmt( is, "%lld", &lli );
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, unsigned long long int & ulli ) {
+	fmt( is, "%llu", &ulli );
+	return is;
+} // ?|?
+
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, float & f ) {
+	fmt( is, "%f", &f );
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, double & d ) {
+	fmt( is, "%lf", &d );
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, long double & ld ) {
+	fmt( is, "%Lf", &ld );
+	return is;
+} // ?|?
+
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, float _Complex & fc ) {
 	float re, im;
 	fmt( is, "%g%gi", &re, &im );
-	*fc = re + im * _Complex_I;
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, double _Complex * dc ) {
+	fc = re + im * _Complex_I;
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, double _Complex & dc ) {
 	double re, im;
 	fmt( is, "%lf%lfi", &re, &im );
-	*dc = re + im * _Complex_I;
-	return is;
-} // ?|?
-
-forall( dtype istype | istream( istype ) )
-istype * ?|?( istype * is, long double _Complex * ldc ) {
+	dc = re + im * _Complex_I;
+	return is;
+} // ?|?
+
+forall( dtype istype | istream( istype ) )
+istype * ?|?( istype * is, long double _Complex & ldc ) {
 	long double re, im;
 	fmt( is, "%Lf%Lfi", &re, &im );
-	*ldc = re + im * _Complex_I;
+	ldc = re + im * _Complex_I;
 	return is;
 } // ?|?
