[cloudy] Updated macros

Sergio Pascual sergiopr at fedoraproject.org
Wed Jan 22 19:09:12 UTC 2014


commit 9c12d5439860311d22776dcd6f9aad1512df8b50
Author: Sergio Pascual <sergiopr at fis.ucm.es>
Date:   Wed Jan 22 20:09:25 2014 +0100

    Updated macros
    
    - Fix bz #1037017, format security error

 cloudy-fmterr.patch | 1375 +++++++++++++++++++++++++++++++++++++++++++++++++++
 cloudy.spec         |   25 +-
 2 files changed, 1384 insertions(+), 16 deletions(-)
---
diff --git a/cloudy-fmterr.patch b/cloudy-fmterr.patch
new file mode 100644
index 0000000..4d0417c
--- /dev/null
+++ b/cloudy-fmterr.patch
@@ -0,0 +1,1375 @@
+diff -ur c08.00/source/cont_gammas.cpp c08.00.fmterr/source/cont_gammas.cpp
+--- c08.00/source/cont_gammas.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/cont_gammas.cpp	2014-01-22 19:39:48.299357386 +0100
+@@ -275,13 +275,13 @@
+ 	}
+ 
+ 	fprintf( ioFILE, " GammaPrt %.2f from ",fnzone);
+-	fprintf( ioFILE,PrintEfmt("%9.2e",rfield.anu[ipLoEnr-1]));
++	fprintf( ioFILE,"%s", PrintEfmt("%9.2e",rfield.anu[ipLoEnr-1]));
+ 	fprintf( ioFILE, " to ");
+-	fprintf( ioFILE,PrintEfmt("%9.2e",rfield.anu[ipHiEnr-1]));
++	fprintf( ioFILE,"%s", PrintEfmt("%9.2e",rfield.anu[ipHiEnr-1]));
+ 	fprintf( ioFILE, "R rates >");
+-	fprintf( ioFILE,PrintEfmt("%9.2e",threshold));
++	fprintf( ioFILE,"%s", PrintEfmt("%9.2e",threshold));
+ 	fprintf( ioFILE, " of total=");
+-	fprintf( ioFILE,PrintEfmt("%9.2e",total));
++	fprintf( ioFILE,"%s", PrintEfmt("%9.2e",total));
+ 	fprintf( ioFILE, " (frac inc, otslin, otscon, ConInterOut, outlin ConOTS_local_OTS_rate ) chL, C\n");
+ 
+ 	if( threshold <= 0. || total <= 0. )
+@@ -304,8 +304,8 @@
+ 
+ 		/* this really is array index on C scale */
+ 		fprintf( ioFILE, "[%5ld]" , i );
+-		fprintf( ioFILE, PrintEfmt("%9.2e",rfield.anu[i]));
+-		fprintf( ioFILE, PrintEfmt("%9.2e",phisig/total));
++		fprintf( ioFILE, "%s", PrintEfmt("%9.2e",rfield.anu[i]));
++		fprintf( ioFILE, "%s", PrintEfmt("%9.2e",phisig/total));
+ 		fprintf( ioFILE, "%5.2f%5.2f%5.2f%5.2f%5.2f%5.2f %4.4s %4.4s %.2e \n", 
+ 		  rfield.flux[i]/SDIV(flxcor), 
+ 		  rfield.otslin[i]/SDIV(flxcor), 
+@@ -329,8 +329,8 @@
+ 			  rfield.outlin[i] + rfield.outlin_noplot[i] +rfield.ConInterOut[i]*rfield.lgOutOnly;
+ 
+ 			fprintf( ioFILE, "%5ld", i );
+-			fprintf(ioFILE,PrintEfmt("%9.2e",rfield.anu[i]));
+-			fprintf(ioFILE,PrintEfmt("%9.2e",phisig/total));
++			fprintf(ioFILE,"%s", PrintEfmt("%9.2e",rfield.anu[i]));
++			fprintf(ioFILE,"%s", PrintEfmt("%9.2e",phisig/total));
+ 			fprintf( ioFILE, "%5.2f%5.2f%5.2f%5.2f%5.2f%5.2f %4.4s %4.4s %.2e \n", 
+ 			  rfield.flux[i]/SDIV(flxcor), 
+ 			  rfield.otslin[i]/SDIV(flxcor), 
+Sólo en c08.00.fmterr/source: dum
+diff -ur c08.00/source/hydrolevel.cpp c08.00.fmterr/source/hydrolevel.cpp
+--- c08.00/source/hydrolevel.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/hydrolevel.cpp	2014-01-22 19:40:19.994634031 +0100
+@@ -106,7 +106,7 @@
+ 		fprintf( ioQQQ, " A*esc" );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Aul*
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Aul*
+ 				Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Pesc ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+@@ -115,7 +115,7 @@
+ 		fprintf( ioQQQ, " A*ees" );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Aul*
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Aul*
+ 				Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Pelec_esc ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+@@ -124,7 +124,7 @@
+ 		fprintf( ioQQQ, " tauin" );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->TauIn ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->TauIn ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -132,7 +132,7 @@
+ 		fprintf( ioQQQ, " t tot" );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->TauTot ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->TauTot ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -140,7 +140,7 @@
+ 		fprintf( ioQQQ, " Esc  " );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Pesc ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Pesc ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -148,7 +148,7 @@
+ 		fprintf( ioQQQ, " Eesc " );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Pelec_esc ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Pelec_esc ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -156,7 +156,7 @@
+ 		fprintf( ioQQQ, " Dest " );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Pdest) );
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Pdest) );
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -164,7 +164,7 @@
+ 		fprintf( ioQQQ, " A*dst" );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Aul*
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Aul*
+ 				Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->Pdest ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+@@ -173,7 +173,7 @@
+ 		fprintf( ioQQQ, " StrkE" );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e",  iso.pestrk[ipH_LIKE][nelem][ipLo][ipHi] ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e",  iso.pestrk[ipH_LIKE][nelem][ipLo][ipHi] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -181,7 +181,7 @@
+ 		fprintf( ioQQQ, " B(ul)" );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->pump*
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->pump*
+ 				StatesElem[ipH_LIKE][nelem][ipLo].g/StatesElem[ipH_LIKE][nelem][ipHi].g ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+@@ -190,7 +190,7 @@
+ 		fprintf( ioQQQ, " tcont" );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->TauCon ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e",  Transitions[ipH_LIKE][nelem][ipHi][ipLo].Emis->TauCon ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -198,7 +198,7 @@
+ 		fprintf( ioQQQ, " C(ul)" );
+ 		for( ipLo=ipH1s; ipLo < ipHi; ipLo++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", 
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", 
+ 				Transitions[ipH_LIKE][nelem][ipHi][ipLo].Coll.ColUL*dense.eden ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+@@ -206,7 +206,7 @@
+ 		if( ipHi == 2 )
+ 		{
+ 			fprintf( ioQQQ, "    FeIIo");
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", 
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", 
+ 				hydro.dstfe2lya* Transitions[ipH_LIKE][ipHYDROGEN][ipH2p][ipH1s].Emis->Aul ));
+ 			fprintf( ioQQQ, "\n");
+ 		}
+@@ -267,7 +267,7 @@
+ 		/* 06 aug 28, from numLevels_max to _local. */
+ 		for( i=ipH2s; i < iso.numLevels_local[ipISO][nelem]; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", iso.gamnc[ipISO][nelem][i] ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", iso.gamnc[ipISO][nelem][i] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -275,17 +275,17 @@
+ 		/* 06 aug 28, from numLevels_max to _local. */
+ 		for( i=1; i < iso.numLevels_local[ipISO][nelem]; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", iso.RateCont2Level[ipISO][nelem][i]/dense.eden ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", iso.RateCont2Level[ipISO][nelem][i]/dense.eden ));
+ 		}
+ 		fprintf( ioQQQ," tot");
+-		fprintf( ioQQQ,PrintEfmt("%10.2e", ionbal.RateRecomTot[nelem][nelem-ipISO]/dense.eden ) );
++		fprintf( ioQQQ,"%s", PrintEfmt("%10.2e", ionbal.RateRecomTot[nelem][nelem-ipISO]/dense.eden ) );
+ 		fprintf( ioQQQ, "\n" );
+ 
+ 		fprintf( ioQQQ, "       HLEV IND Rc" );
+ 		/* 06 aug 28, from numLevels_max to _local. */
+ 		for( i=ipH1s; i < iso.numLevels_local[ipISO][nelem]; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", iso.RecomInducRate[ipISO][nelem][i]*iso.PopLTE[ipISO][nelem][i] ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", iso.RecomInducRate[ipISO][nelem][i]*iso.PopLTE[ipISO][nelem][i] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -294,7 +294,7 @@
+ 		/* 06 aug 28, from numLevels_max to _local. */
+ 		for( i=ipH1s; i < iso.numLevels_local[ipISO][nelem]; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e",
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",
+ 				iso.gamnc[ipISO][nelem][i]*iso.PopLTE[ipISO][nelem][i] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+@@ -304,7 +304,7 @@
+ 		/* 06 aug 28, from numLevels_max to _local. */
+ 		for( i=ipH1s; i < iso.numLevels_local[ipISO][nelem]; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", iso.PopLTE[ipISO][nelem][i] ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", iso.PopLTE[ipISO][nelem][i] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -313,7 +313,7 @@
+ 		/* 06 aug 28, from numLevels_max to _local. */
+ 		for( i=ipH1s; i < iso.numLevels_local[ipISO][nelem]; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", 
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 
+ 				iso.ColIoniz[ipISO][nelem][i]*
+ 			  StatesElem[ipISO][nelem][i].Pop*collider/MAX2(1e-30,iso.RateLevel2Cont[ipISO][nelem][i]) ) );
+ 		}
+@@ -326,7 +326,7 @@
+ 			/* 06 aug 28, from numLevels_max to _local. */
+ 			for( i=ipH1s; i < iso.numLevels_local[ipISO][nelem]; i++ )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 
+ 					iso.gamnc[ipISO][nelem][i]*StatesElem[ipISO][ipHYDROGEN][i].Pop/MAX2(1e-30,iso.RateLevel2Cont[ipISO][nelem][i]) ) );
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+@@ -336,7 +336,7 @@
+ 		/* 06 aug 28, from numLevels_max to _local. */
+ 		for( i=ipH1s; i < iso.numLevels_local[ipISO][nelem]; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipISO][nelem][i].Pop ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipISO][nelem][i].Pop ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -344,14 +344,14 @@
+ 		/* 06 aug 28, from numLevels_max to _local. */
+ 		for( i=ipH1s; i < iso.numLevels_local[ipISO][nelem]; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", iso.DepartCoef[ipISO][nelem][i] ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", iso.DepartCoef[ipISO][nelem][i] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+ 		fprintf( ioQQQ, "       HLEV   X12tot");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", secondaries.x12tot ));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", secondaries.x12tot ));
+ 		fprintf( ioQQQ," Grn dest:");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e",
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",
+ 		  ionbal.RateIonizTot[nelem][nelem] ));
+ 		fprintf(ioQQQ, "\n"); 
+ 	}
+diff -ur c08.00/source/iso_collide.cpp c08.00.fmterr/source/iso_collide.cpp
+--- c08.00/source/iso_collide.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/iso_collide.cpp	2014-01-22 19:40:47.450873353 +0100
+@@ -395,7 +395,7 @@
+ 				fprintf( ioQQQ, " %li\t", ipHi );
+ 				for( ipLo=0; ipLo < ipHi; ipLo++ )
+ 				{
+-					fprintf( ioQQQ,PrintEfmt("%10.3e", Transitions[ipISO][nelem][ipHi][ipLo].Coll.ColUL ));
++					fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", Transitions[ipISO][nelem][ipHi][ipLo].Coll.ColUL ));
+ 				}
+ 				fprintf( ioQQQ, "\n" );
+ 			}
+@@ -403,21 +403,21 @@
+ 			fprintf( ioQQQ, "     iso_collide: %s Z=%li collisional ionization coefficients\n", iso.chISO[ipISO], nelem + 1 );
+ 			for( ipHi=0; ipHi < iso.numLevels_max[ipISO][nelem]; ipHi++ )
+ 			{
+-				fprintf( ioQQQ,PrintEfmt("%10.3e",  iso.ColIoniz[ipISO][nelem][ipHi] ));
++				fprintf( ioQQQ,"%s", PrintEfmt("%10.3e",  iso.ColIoniz[ipISO][nelem][ipHi] ));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 
+ 			fprintf( ioQQQ, "     iso_collide: %s Z=%li continuum boltzmann factor\n", iso.chISO[ipISO], nelem + 1 );
+ 			for( ipHi=0; ipHi < iso.numLevels_max[ipISO][nelem]; ipHi++ )
+ 			{
+-				fprintf( ioQQQ,PrintEfmt("%10.3e",  StatesElem[ipISO][nelem][ipHi].ConBoltz ));
++				fprintf( ioQQQ,"%s", PrintEfmt("%10.3e",  StatesElem[ipISO][nelem][ipHi].ConBoltz ));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 
+ 			fprintf( ioQQQ, "     iso_collide: %s Z=%li continuum boltzmann factor\n", iso.chISO[ipISO], nelem + 1 );
+ 			for( ipHi=0; ipHi < iso.numLevels_max[ipISO][nelem]; ipHi++ )
+ 			{
+-				fprintf( ioQQQ,PrintEfmt("%10.3e",  iso.PopLTE[ipISO][nelem][ipHi] ));
++				fprintf( ioQQQ,"%s", PrintEfmt("%10.3e",  iso.PopLTE[ipISO][nelem][ipHi] ));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 		}
+diff -ur c08.00/source/iso_level.cpp c08.00.fmterr/source/iso_level.cpp
+--- c08.00/source/iso_level.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/iso_level.cpp	2014-01-22 19:41:21.675171276 +0100
+@@ -602,7 +602,7 @@
+ 		fprintf( ioQQQ, " level pop are:\n" );
+ 		for( i=0; i < numlevels_local; i++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%8.1e", StatesElem[ipISO][nelem][i].Pop ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%8.1e", StatesElem[ipISO][nelem][i].Pop ));
+ 			if( (i!=0) && !(i%10) ) fprintf( ioQQQ,"\n" );
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+diff -ur c08.00/source/iso_photo.cpp c08.00.fmterr/source/iso_photo.cpp
+--- c08.00/source/iso_photo.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/iso_photo.cpp	2014-01-22 19:41:14.699110583 +0100
+@@ -171,11 +171,11 @@
+ 	if( trace.lgTrace )
+ 	{
+ 		fprintf( ioQQQ, "     iso_photo, ipISO%2ld nelem%2ld low, hi=",ipISO,nelem);
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", iso.gamnc[ipISO][nelem][ipH1s]));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", iso.gamnc[ipISO][nelem][ipH1s]));
+ 		ASSERT(nelem>=ipISO);
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", ionbal.CompRecoilIonRate[nelem][nelem-ipISO]));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", ionbal.CompRecoilIonRate[nelem][nelem-ipISO]));
+ 		fprintf( ioQQQ, " total=");
+-		fprintf( ioQQQ,PrintEfmt("%9.2e",iso.gamnc[ipISO][nelem][ipH1s] ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e",iso.gamnc[ipISO][nelem][ipH1s] ));
+ 		fprintf( ioQQQ, "\n");
+ 	}
+ 	return;
+diff -ur c08.00/source/iso_radiative_recomb.cpp c08.00.fmterr/source/iso_radiative_recomb.cpp
+--- c08.00/source/iso_radiative_recomb.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/iso_radiative_recomb.cpp	2014-01-22 19:41:40.667336424 +0100
+@@ -347,7 +347,7 @@
+ 		fprintf( ioQQQ, "       iso_radiative_recomb recomb effic" );
+ 		for( ipLevel=0; ipLevel < iso.numLevels_local[ipISO][nelem]; ipLevel++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%10.3e", iso.RadRecomb[ipISO][nelem][ipLevel][ipRecEsc] ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", iso.RadRecomb[ipISO][nelem][ipLevel][ipRecEsc] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -355,7 +355,7 @@
+ 		fprintf( ioQQQ, "       iso_radiative_recomb recomb net effic" );
+ 		for( ipLevel=0; ipLevel < iso.numLevels_local[ipISO][nelem]; ipLevel++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%10.3e", iso.RadRecomb[ipISO][nelem][ipLevel][ipRecNetEsc]) );
++			fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", iso.RadRecomb[ipISO][nelem][ipLevel][ipRecNetEsc]) );
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -363,7 +363,7 @@
+ 		fprintf( ioQQQ, "       iso_radiative_recomb in optic dep" );
+ 		for( ipLevel=0; ipLevel < iso.numLevels_local[ipISO][nelem]; ipLevel++ )
+ 		{	
+-			fprintf( ioQQQ,PrintEfmt("%10.3e",  opac.TauAbsGeo[0][iso.ipIsoLevNIonCon[ipISO][nelem][ipLevel]-1] ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%10.3e",  opac.TauAbsGeo[0][iso.ipIsoLevNIonCon[ipISO][nelem][ipLevel]-1] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -371,7 +371,7 @@
+ 		fprintf( ioQQQ, "       iso_radiative_recomb out op depth" );
+ 		for( ipLevel=0; ipLevel < iso.numLevels_local[ipISO][nelem]; ipLevel++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%10.3e",  opac.TauAbsGeo[1][iso.ipIsoLevNIonCon[ipISO][nelem][ipLevel]-1] ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%10.3e",  opac.TauAbsGeo[1][iso.ipIsoLevNIonCon[ipISO][nelem][ipLevel]-1] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -379,7 +379,7 @@
+ 		fprintf( ioQQQ, "       iso_radiative_recomb rad rec coef " );
+ 		for( ipLevel=0; ipLevel < iso.numLevels_local[ipISO][nelem]; ipLevel++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%10.3e", iso.RadRecomb[ipISO][nelem][ipLevel][ipRecRad]) );
++			fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", iso.RadRecomb[ipISO][nelem][ipLevel][ipRecRad]) );
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 	}
+@@ -387,12 +387,12 @@
+ 	if( trace.lgTrace )
+ 	{
+ 		fprintf( ioQQQ, "     iso_radiative_recomb total rec coef" );
+-		fprintf( ioQQQ,PrintEfmt("%10.3e", iso.RadRec_effec[ipISO][nelem] ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", iso.RadRec_effec[ipISO][nelem] ));
+ 		fprintf( ioQQQ, " case A=" );
+-		fprintf( ioQQQ,PrintEfmt("%10.3e", 
++		fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", 
+ 			iso.RadRec_caseB[ipISO][nelem] + iso.RadRecomb[ipISO][nelem][ipH1s][ipRecRad] ) );
+ 		fprintf( ioQQQ, " case B=");
+-		fprintf( ioQQQ,PrintEfmt("%10.3e", iso.RadRec_caseB[ipISO][nelem] ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", iso.RadRec_caseB[ipISO][nelem] ));
+ 		fprintf( ioQQQ, "\n" );
+ 	}
+ 
+@@ -430,7 +430,7 @@
+ 		/* this prints Z on physical, not C, scale */
+ 		fprintf( punch.ioRecom, "%s %s %2li ", 
+ 			iso.chISO[ipISO], elementnames.chElementSym[nelem], nelem+1 );
+-		fprintf( punch.ioRecom,PrintEfmt("%9.2e", iso.RadRec_caseB[ipISO][nelem] ));
++		fprintf( punch.ioRecom,"%s", PrintEfmt("%9.2e", iso.RadRec_caseB[ipISO][nelem] ));
+ 		fprintf( punch.ioRecom, "\n" );
+ 	}
+ 
+Sólo en c08.00.fmterr/source: Makefile.dep
+diff -ur c08.00/source/mean.cpp c08.00.fmterr/source/mean.cpp
+--- c08.00/source/mean.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/mean.cpp	2014-01-22 19:41:55.419464618 +0100
+@@ -686,7 +686,7 @@
+ 		{
+ 			/*fprintf( ioQQQ, "%11.3e", raver[i] );*/
+ 			fprintf( ioQQQ, " ");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", raver[i] ) );
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", raver[i] ) );
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -698,7 +698,7 @@
+ 			{
+ 				/*fprintf( ioQQQ, "%11.3e", vaver[i] );*/
+ 				fprintf( ioQQQ, " ");
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", vaver[i] ) );
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", vaver[i] ) );
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 		}
+diff -ur c08.00/source/mole_h2_io.cpp c08.00.fmterr/source/mole_h2_io.cpp
+--- c08.00/source/mole_h2_io.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/mole_h2_io.cpp	2014-01-22 19:42:17.388655396 +0100
+@@ -426,24 +426,24 @@
+ 	DEBUG_ENTRY( "H2_Prt_Zone()" );
+ 
+ 	fprintf( ioQQQ, " H2 density   ");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", hmi.H2_total));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", hmi.H2_total));
+ 
+ 	fprintf( ioQQQ, " orth/par");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", h2.ortho_density / SDIV( h2.para_density )));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", h2.ortho_density / SDIV( h2.para_density )));
+ 
+ 	iElecHi = 0;
+ 	iVibHi = 0;
+ 	fprintf( ioQQQ, " v0 J=0,3");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", H2_populations[iElecHi][iVibHi][0] / hmi.H2_total));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", H2_populations[iElecHi][iVibHi][1] / hmi.H2_total));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", H2_populations[iElecHi][iVibHi][2] / hmi.H2_total));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", H2_populations[iElecHi][iVibHi][3] / hmi.H2_total));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", H2_populations[iElecHi][iVibHi][0] / hmi.H2_total));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", H2_populations[iElecHi][iVibHi][1] / hmi.H2_total));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", H2_populations[iElecHi][iVibHi][2] / hmi.H2_total));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", H2_populations[iElecHi][iVibHi][3] / hmi.H2_total));
+ 
+ 	fprintf( ioQQQ, " TOTv=0,3");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", pops_per_vib[iElecHi][0] / hmi.H2_total));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", pops_per_vib[iElecHi][1] / hmi.H2_total));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", pops_per_vib[iElecHi][2] / hmi.H2_total));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", pops_per_vib[iElecHi][3] / hmi.H2_total));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", pops_per_vib[iElecHi][0] / hmi.H2_total));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", pops_per_vib[iElecHi][1] / hmi.H2_total));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", pops_per_vib[iElecHi][2] / hmi.H2_total));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", pops_per_vib[iElecHi][3] / hmi.H2_total));
+ 	fprintf( ioQQQ, "\n");
+ 	return;
+ }
+@@ -481,10 +481,10 @@
+ 
+ #	if 0
+ 	fprintf( ioMEAN, "    v=0,3");
+-	fprintf(ioMEAN,PrintEfmt("%9.2e", pops_per_vib[iElecHi][0] / hmi.H2_total));
+-	fprintf(ioMEAN,PrintEfmt("%9.2e", pops_per_vib[iElecHi][1] / hmi.H2_total));
+-	fprintf(ioMEAN,PrintEfmt("%9.2e", pops_per_vib[iElecHi][2] / hmi.H2_total));
+-	fprintf(ioMEAN,PrintEfmt("%9.2e", pops_per_vib[iElecHi][3] / hmi.H2_total));
++	fprintf(ioMEAN,"%s", PrintEfmt("%9.2e", pops_per_vib[iElecHi][0] / hmi.H2_total));
++	fprintf(ioMEAN,"%s", PrintEfmt("%9.2e", pops_per_vib[iElecHi][1] / hmi.H2_total));
++	fprintf(ioMEAN,"%s", PrintEfmt("%9.2e", pops_per_vib[iElecHi][2] / hmi.H2_total));
++	fprintf(ioMEAN,"%s", PrintEfmt("%9.2e", pops_per_vib[iElecHi][3] / hmi.H2_total));
+ 	fprintf( ioMEAN, "\n");
+ #	endif
+ 	return;
+diff -ur c08.00/source/parse_set.cpp c08.00.fmterr/source/parse_set.cpp
+--- c08.00/source/parse_set.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/parse_set.cpp	2014-01-22 19:56:52.404993054 +0100
+@@ -1663,7 +1663,7 @@
+ 			else 
+ 			{
+ 				/* usual case, simply copy what is in quotes */
+-				sprintf(punch.chHashString , chString_quotes_lowercase );
++				sprintf(punch.chHashString , "%s", chString_quotes_lowercase );
+ 			}
+ 		}
+ 
+diff -ur c08.00/source/prt_alltau.cpp c08.00.fmterr/source/prt_alltau.cpp
+--- c08.00/source/prt_alltau.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/prt_alltau.cpp	2014-01-22 19:42:36.107817830 +0100
+@@ -47,15 +47,15 @@
+ 	/* R(1300) is Rayleigh scattering */
+ 	fprintf( ioQQQ, "\n Contin Optical Depths: COMP:");
+ 
+-	fprintf( ioQQQ,PrintEfmt("%9.2e", opac.telec));
++	fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", opac.telec));
+ 	fprintf( ioQQQ, "    H-:");
+-	fprintf( ioQQQ,PrintEfmt("%9.2e",opac.thmin ));
++	fprintf( ioQQQ,"%s", PrintEfmt("%9.2e",opac.thmin ));
+ 
+ 	fprintf( ioQQQ, " R(1300):");
+-	fprintf( ioQQQ,PrintEfmt("%9.2e", colden.colden[ipCOL_H0]*6.71e-24));
++	fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", colden.colden[ipCOL_H0]*6.71e-24));
+ 
+ 	fprintf( ioQQQ, "  H2+:");
+-	fprintf( ioQQQ,PrintEfmt("%9.2e", colden.colden[ipCOL_H2p]*7e-18));
++	fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", colden.colden[ipCOL_H2p]*7e-18));
+ 
+ 	fprintf( ioQQQ, "  Pfa:");
+ 	/* 06 aug 28, from numLevels_max to _local. */
+@@ -74,7 +74,7 @@
+ 	/* 06 aug 28, from numLevels_max to _local. */
+ 	if( iso.numLevels_local[ipH_LIKE][ipHYDROGEN] > ipH4p )
+ 	{
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", opac.TauTotalGeo[0][Transitions[ipH_LIKE][ipHYDROGEN][ipH4p][ipH3s].ipCont-1]/fcon));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", opac.TauTotalGeo[0][Transitions[ipH_LIKE][ipHYDROGEN][ipH4p][ipH3s].ipCont-1]/fcon));
+ 	}
+ 	else
+ 	{
+@@ -85,7 +85,7 @@
+ 	/* 06 aug 28, from numLevels_max to _local. */
+ 	if( iso.numLevels_local[ipH_LIKE][ipHYDROGEN] > 3 )
+ 	{
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", opac.TauTotalGeo[0][Transitions[ipH_LIKE][ipHYDROGEN][ipH3p][ipH2s].ipCont-1]/fcon));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", opac.TauTotalGeo[0][Transitions[ipH_LIKE][ipHYDROGEN][ipH3p][ipH2s].ipCont-1]/fcon));
+ 	}
+ 	else
+ 	{
+@@ -96,7 +96,7 @@
+ 	/* 06 aug 28, from numLevels_max to _local. */
+ 	if( iso.numLevels_local[ipH_LIKE][ipHYDROGEN] > 4 )
+ 	{
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", opac.TauTotalGeo[0][Transitions[ipH_LIKE][ipHYDROGEN][ipH4p][ipH2s].ipCont-1]/fcon));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", opac.TauTotalGeo[0][Transitions[ipH_LIKE][ipHYDROGEN][ipH4p][ipH2s].ipCont-1]/fcon));
+ 	}
+ 	else
+ 	{
+@@ -104,7 +104,7 @@
+ 	}
+ 
+ 	fprintf( ioQQQ, "   La:");
+-	fprintf( ioQQQ,PrintEfmt("%9.2e", opac.TauTotalGeo[0][Transitions[ipH_LIKE][ipHYDROGEN][ipH2p][ipH1s].ipCont-1]/fcon));
++	fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", opac.TauTotalGeo[0][Transitions[ipH_LIKE][ipHYDROGEN][ipH2p][ipH1s].ipCont-1]/fcon));
+ 
+ 	fprintf( ioQQQ, "     1r:");
+ 	PrintE93( ioQQQ , opac.TauTotalGeo[0][iso.ipIsoLevNIonCon[ipH_LIKE][ipHYDROGEN][ipH1s]-1]/fcon);
+@@ -144,7 +144,7 @@
+ 					/* this, combined with "continue" above, ensures that we print
+ 					 * 1 (1s), 2(tot 2), then 3 */
+ 					fprintf( ioQQQ , "%6ld",MAX2(1,n));
+-					fprintf( ioQQQ,PrintEfmt("%9.2e", opac.TauAbsGeo[i][iso.ipIsoLevNIonCon[ipH_LIKE][nelem][n]-1]/fcon));
++					fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", opac.TauAbsGeo[i][iso.ipIsoLevNIonCon[ipH_LIKE][nelem][n]-1]/fcon));
+ 				}
+ 				fprintf( ioQQQ, "\n" );
+ 			}
+@@ -155,7 +155,7 @@
+ 				nelem+1);
+ 			/* Lya is a special case due to 2s-2p resolution - explictly print it first */
+ 			fprintf( ioQQQ, "%3i-%2i",2, 1 );
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipH2p][ipH1s].Emis->TauTot/flin ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipH2p][ipH1s].Emis->TauTot/flin ));
+ 			/* total optical depth in 3-2s and 3-2p, is total of both so 2-1 is correct for 3-2*/
+ 			/* 06 aug 28, from numLevels_max to _local. */
+ 			for( n=3; n <= iso.n_HighestResolved_local[ipH_LIKE][nelem]; n++ )
+@@ -163,7 +163,7 @@
+ 				if( n%NUMB_PER_LINE ==1)
+ 					fprintf(ioQQQ,"\n");
+ 				fprintf( ioQQQ, "%3ld-%2ld",n, n-1 );
+-				fprintf( ioQQQ,PrintEfmt("%9.2e", 
++				fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", 
+ 					/* just do nP - n'S */
+ 					Transitions[ipH_LIKE][nelem][ iso.QuantumNumbers2Index[ipH_LIKE][nelem][n][1][2] ][ iso.QuantumNumbers2Index[ipH_LIKE][nelem][n-1][0][2] ].Emis->TauTot/flin ));
+ 			}
+@@ -172,20 +172,20 @@
+ 				if( StatesElem[ipH_LIKE][nelem][n].n % NUMB_PER_LINE ==1)
+ 					fprintf(ioQQQ,"\n");
+ 				fprintf( ioQQQ, "%3ld-%2ld", StatesElem[ipH_LIKE][nelem][n].n, StatesElem[ipH_LIKE][nelem][n-1].n );
+-				fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][n][n-1].Emis->TauTot/flin ));
++				fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][n][n-1].Emis->TauTot/flin ));
+ 			}
+ 
+ 			fprintf( ioQQQ, "\n" );
+ 
+ 			fprintf( ioQQQ, "%3i-%2i",2, 1 );
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipH2p][ipH1s].Emis->TauIn/flin ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][ipH2p][ipH1s].Emis->TauIn/flin ));
+ 			/* 06 aug 28, from numLevels_max to _local. */
+ 			for( n=3; n <= iso.n_HighestResolved_local[ipH_LIKE][nelem]; n++ )
+ 			{
+ 				if( n%NUMB_PER_LINE ==1)
+ 					fprintf(ioQQQ,"\n");
+ 				fprintf( ioQQQ, "%3ld-%2ld",n, n-1 );
+-				fprintf( ioQQQ,PrintEfmt("%9.2e", 
++				fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", 
+ 					/* just do nP - n'S */
+ 					Transitions[ipH_LIKE][nelem][ iso.QuantumNumbers2Index[ipH_LIKE][nelem][n][1][2] ][ iso.QuantumNumbers2Index[ipH_LIKE][nelem][n-1][0][2] ].Emis->TauIn/flin ));
+ 			}
+@@ -194,7 +194,7 @@
+ 				if( StatesElem[ipH_LIKE][nelem][n].n % NUMB_PER_LINE ==1)
+ 					fprintf(ioQQQ,"\n");
+ 				fprintf( ioQQQ, "%3ld-%2ld", StatesElem[ipH_LIKE][nelem][n].n, StatesElem[ipH_LIKE][nelem][n-1].n );
+-				fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][n][n-1].Emis->TauIn/flin ));
++				fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipH_LIKE][nelem][n][n-1].Emis->TauIn/flin ));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 		}
+@@ -209,7 +209,7 @@
+ 		for( i=0; i < 5; i++ )
+ 		{
+ 			fprintf( ioQQQ, "%5ld", i+1 );
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", opac.TauAbsGeo[1][iso.ipIsoLevNIonCon[ipHE_LIKE][ipHELIUM][i]-1]/fcon) );
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", opac.TauAbsGeo[1][iso.ipIsoLevNIonCon[ipHE_LIKE][ipHELIUM][i]-1]/fcon) );
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -217,7 +217,7 @@
+ 		for( i=0; i < 5; i++ )
+ 		{
+ 			fprintf( ioQQQ, "%5ld", i+1 );
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", opac.TauAbsGeo[0][iso.ipIsoLevNIonCon[ipHE_LIKE][ipHELIUM][i]-1]/fcon ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", opac.TauAbsGeo[0][iso.ipIsoLevNIonCon[ipHE_LIKE][ipHELIUM][i]-1]/fcon ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -225,24 +225,24 @@
+ 
+ 		fprintf( ioQQQ, "          Old He Is Lines:" );
+ 		fprintf( ioQQQ, " %4d",584 );
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe2p1P][ipHe1s1S].Emis->TauTot/flin ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe2p1P][ipHe1s1S].Emis->TauTot/flin ));
+ 		fprintf( ioQQQ, " %4d",3889 );
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3p3P][ipHe2s3S].Emis->TauTot/flin ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3p3P][ipHe2s3S].Emis->TauTot/flin ));
+ 		fprintf( ioQQQ, " %4d",5016 );
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3p1P][ipHe2s1S].Emis->TauTot/flin ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3p1P][ipHe2s1S].Emis->TauTot/flin ));
+ 		fprintf( ioQQQ, " %4d",5876 );
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3d3D][ipHe2p3P2].Emis->TauTot/flin ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3d3D][ipHe2p3P2].Emis->TauTot/flin ));
+ 		fprintf( ioQQQ, "\n" );
+ 
+ 		fprintf( ioQQQ, "          New He Is Lines:" );
+ 		fprintf( ioQQQ, " %4d",584 );
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe2p1P][ipHe1s1S].Emis->TauIn/flin ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe2p1P][ipHe1s1S].Emis->TauIn/flin ));
+ 		fprintf( ioQQQ, " %4d",3889 );
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3p3P][ipHe2s3S].Emis->TauIn/flin ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3p3P][ipHe2s3S].Emis->TauIn/flin ));
+ 		fprintf( ioQQQ, " %4d",5016 );
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3p1P][ipHe2s1S].Emis->TauIn/flin ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3p1P][ipHe2s1S].Emis->TauIn/flin ));
+ 		fprintf( ioQQQ, " %4d",5876 );
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3d3D][ipHe2p3P2].Emis->TauIn/flin ));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", Transitions[ipHE_LIKE][ipHELIUM][ipHe3d3D][ipHe2p3P2].Emis->TauIn/flin ));
+ 		fprintf( ioQQQ, "\n" );
+ 
+ 		/* ================================================================================*/
+diff -ur c08.00/source/prt_final.cpp c08.00.fmterr/source/prt_final.cpp
+--- c08.00/source/prt_final.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/prt_final.cpp	2014-01-22 19:42:56.571995286 +0100
+@@ -1648,7 +1648,7 @@
+ 
+ 		/* t^2 predicted from the structure, weighted by H */
+ 		fprintf(  ioQQQ, " t2(Hstrc)");
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", peimbt.t2hstr));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", peimbt.t2hstr));
+ 
+ 		/* temperature from both [OIII] and the Balmer jump rel to Hbeta */
+ 		fprintf(  ioQQQ, " T(O3-BAC)");
+@@ -1656,11 +1656,11 @@
+ 
+ 		/* t2 from both [OIII] and the Balmer jump rel to Hbeta */
+ 		fprintf(  ioQQQ, " t2(O3-BC)");
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", peimbt.t2hyox));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", peimbt.t2hyox));
+ 
+ 		/* structural t2 from the O+2 predicted radial dependence */
+ 		fprintf(  ioQQQ, " t2(O3str)");
+-		fprintf( ioQQQ,PrintEfmt("%9.2e", peimbt.t2o3str));
++		fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", peimbt.t2o3str));
+ 
+ 		fprintf(  ioQQQ, "\n");
+ 
+@@ -1710,7 +1710,7 @@
+ 			for( nd=i0; nd < i1; nd++ )
+ 			{
+ 				if( nd != i0 ) fprintf( ioQQQ,"   " );
+-				fprintf( ioQQQ,PrintEfmt("%10.3e", gv.bin[nd]->avdust/radius.depth_x_fillfac));
++				fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", gv.bin[nd]->avdust/radius.depth_x_fillfac));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 
+@@ -1718,7 +1718,7 @@
+ 			for( nd=i0; nd < i1; nd++ )
+ 			{
+ 				if( nd != i0 ) fprintf( ioQQQ,"   " );
+-				fprintf( ioQQQ,PrintEfmt("%10.3e", gv.bin[nd]->avdft/radius.depth_x_fillfac));
++				fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", gv.bin[nd]->avdft/radius.depth_x_fillfac));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 
+@@ -1726,7 +1726,7 @@
+ 			for( nd=i0; nd < i1; nd++ )
+ 			{
+ 				if( nd != i0 ) fprintf( ioQQQ,"   " );
+-				fprintf( ioQQQ,PrintEfmt("%10.3e", gv.bin[nd]->avdpot/radius.depth_x_fillfac));
++				fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", gv.bin[nd]->avdpot/radius.depth_x_fillfac));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 
+@@ -1734,7 +1734,7 @@
+ 			for( nd=i0; nd < i1; nd++ )
+ 			{
+ 				if( nd != i0 ) fprintf( ioQQQ,"   " );
+-				fprintf( ioQQQ,PrintEfmt("%10.3e", gv.bin[nd]->avDGRatio/radius.depth_x_fillfac));
++				fprintf( ioQQQ,"%s", PrintEfmt("%10.3e", gv.bin[nd]->avDGRatio/radius.depth_x_fillfac));
+ 				/* add up total dust to gas mass ratio */
+ 				total_dust2gas += gv.bin[nd]->avDGRatio/radius.depth_x_fillfac;
+ 			}
+@@ -1742,7 +1742,7 @@
+ 		}
+ 
+ 		fprintf(ioQQQ," Dust to gas ratio (by mass):");
+-		fprintf(ioQQQ,PrintEfmt("%10.3e", total_dust2gas));
++		fprintf(ioQQQ,"%s", PrintEfmt("%10.3e", total_dust2gas));
+ 
+ 		/* total extinction (conv to mags) at V and B per hydrogen, this includes
+ 		 * forward scattering as an extinction process, so is what would be measured
+diff -ur c08.00/source/prt_header.cpp c08.00.fmterr/source/prt_header.cpp
+--- c08.00/source/prt_header.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/prt_header.cpp	2014-01-22 19:43:14.940154463 +0100
+@@ -49,7 +49,7 @@
+ 	fprintf( ioQQQ, "           %4ldCellPeak",rfield.nflux );
+ 	PrintE82(ioQQQ, rfield.anu[prt.ipeak-1] );
+ 	fprintf( ioQQQ, "   Lo");
+-	fprintf( ioQQQ,PrintEfmt("%9.2e", rfield.anu[0] - rfield.widflx[0]/2. ));
++	fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", rfield.anu[0] - rfield.widflx[0]/2. ));
+ 	fprintf( ioQQQ, "=%6.2fcm   Hi-Con:",
+ 	  9.117e-6/(rfield.anu[0] - rfield.widflx[0]/2.) );
+ 	PrintE82(ioQQQ,rfield.anu[rfield.nflux-1] + rfield.widflx[rfield.nflux-1]/2.);
+diff -ur c08.00/source/prt_met.cpp c08.00.fmterr/source/prt_met.cpp
+--- c08.00/source/prt_met.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/prt_met.cpp	2014-01-22 19:39:03.065961840 +0100
+@@ -136,7 +136,7 @@
+ 			strcat(chAtMol," ");
+ 			strcat(chAtMol,chAtMolWL);
+ 			fprintf( ioQQQ, "  %10.15s",chAtMol);
+-			fprintf( ioQQQ,PrintEfmt("%9.2e", t->Emis->TauIn));
++			fprintf( ioQQQ,"%s", PrintEfmt("%9.2e", t->Emis->TauIn));
+ 			fprintf( ioQQQ, " ");
+ 			// throw CR after printing 6 numbers
+ 			++n;
+@@ -155,7 +155,7 @@
+ 		{
+ 			/* PrtTauFnt is threshold for printing it */
+ 			fprintf( ioQQQ, "  %10.10s",chLineLbl(t));
+-			fprintf( ioQQQ, PrintEfmt("%9.2e", t->Emis->TauIn ));
++			fprintf( ioQQQ, "%s", PrintEfmt("%9.2e", t->Emis->TauIn ));
+ 
+ 			// throw CR after printing 6 numbers
+ 			++n;
+diff -ur c08.00/source/prt_zone.cpp c08.00.fmterr/source/prt_zone.cpp
+--- c08.00/source/prt_zone.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/prt_zone.cpp	2014-01-22 19:38:15.721546825 +0100
+@@ -91,7 +91,7 @@
+ 		fprintf(ioQQQ," NTR:%3ld Htot:",conv.nPres2Ioniz);
+ 		PrintE93(ioQQQ,thermal.htot);
+ 		fprintf(ioQQQ," T912:");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e",opac.TauAbsGeo[0][iso.ipIsoLevNIonCon[ipH_LIKE][ipHYDROGEN][ipH1s]-1] ));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",opac.TauAbsGeo[0][iso.ipIsoLevNIonCon[ipH_LIKE][ipHYDROGEN][ipH1s]-1] ));
+ 		fprintf(ioQQQ,"###\n");
+ 
+ 		if( trace.nTrConvg )
+@@ -120,7 +120,7 @@
+ 		fprintf( ioQQQ, " Abun:" );
+ 		for( i=0; i < LIMELM; i++ )
+ 		{
+-			fprintf( ioQQQ,PrintEfmt("%8.1e", dense.gas_phase[i] ));
++			fprintf( ioQQQ,"%s", PrintEfmt("%8.1e", dense.gas_phase[i] ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 	}
+@@ -164,48 +164,48 @@
+ 	hatmic = (dense.xIonDense[ipHYDROGEN][0] + dense.xIonDense[ipHYDROGEN][1])/hatmic;
+ 
+ 	fprintf( ioQQQ, " Hydrogen     ");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",dense.xIonDense[ipHYDROGEN][0]/dense.gas_phase[ipHYDROGEN]));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",dense.xIonDense[ipHYDROGEN][1]/dense.gas_phase[ipHYDROGEN]));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",dense.xIonDense[ipHYDROGEN][0]/dense.gas_phase[ipHYDROGEN]));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",dense.xIonDense[ipHYDROGEN][1]/dense.gas_phase[ipHYDROGEN]));
+ 	fprintf( ioQQQ, " H+o/Hden");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",hatmic ));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",hmi.Hmolec[ipMHm]/dense.gas_phase[ipHYDROGEN] ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",hatmic ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",hmi.Hmolec[ipMHm]/dense.gas_phase[ipHYDROGEN] ));
+ 	fprintf( ioQQQ, " H-    H2");
+ 	/* this is total H2, the sum of "ground" and excited */
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",hmi.H2_total/dense.gas_phase[ipHYDROGEN]));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",hmi.Hmolec[ipMH2p]/dense.gas_phase[ipHYDROGEN]));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",hmi.H2_total/dense.gas_phase[ipHYDROGEN]));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",hmi.Hmolec[ipMH2p]/dense.gas_phase[ipHYDROGEN]));
+ 	fprintf( ioQQQ, " H2+ HeH+");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",hmi.Hmolec[ipMHeHp]/dense.gas_phase[ipHYDROGEN]));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",hmi.Hmolec[ipMHeHp]/dense.gas_phase[ipHYDROGEN]));
+ 	fprintf( ioQQQ, " Ho+ ColD");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",colden.colden[ipCOL_H0]));
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",colden.colden[ipCOL_Hp]));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",colden.colden[ipCOL_H0]));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",colden.colden[ipCOL_Hp]));
+ 	fprintf( ioQQQ, "\n");
+ 
+ 	/* print departure coef if desired */
+ 	if( iso.lgPrtDepartCoef[ipH_LIKE][ipHYDROGEN] )
+ 	{
+ 		fprintf( ioQQQ, " Hydrogen     " );
+-		fprintf(ioQQQ,PrintEfmt("%9.2e",  iso.DepartCoef[ipH_LIKE][ipHYDROGEN][ipH1s]));
+-		fprintf(ioQQQ,PrintEfmt("%9.2e",  1.));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",  iso.DepartCoef[ipH_LIKE][ipHYDROGEN][ipH1s]));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",  1.));
+ 		fprintf( ioQQQ, " H+o/Hden");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", (dense.xIonDense[ipHYDROGEN][0] + dense.xIonDense[ipHYDROGEN][1])/dense.gas_phase[ipHYDROGEN]));
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", hmi.hmidep));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", (dense.xIonDense[ipHYDROGEN][0] + dense.xIonDense[ipHYDROGEN][1])/dense.gas_phase[ipHYDROGEN]));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", hmi.hmidep));
+ 		fprintf( ioQQQ, " H-    H2");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", hmi.h2dep));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", hmi.h2dep));
+ 		fprintf( ioQQQ, "      H2+");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", hmi.h2pdep));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", hmi.h2pdep));
+ 		fprintf( ioQQQ, "      H3+");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e",hmi.h3pdep));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",hmi.h3pdep));
+ 		fprintf( ioQQQ, "\n" );
+ 	}
+ 
+ 	if( prt.lgPrintHeating )
+ 	{
+ 		fprintf( ioQQQ, "              ");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[0][0]/thermal.htot));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[0][0]/thermal.htot));
+ 		fprintf( ioQQQ,"         ");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[0][15]/thermal.htot));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[0][15]/thermal.htot));
+ 		fprintf( ioQQQ,"         ");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[0][16]/thermal.htot));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[0][16]/thermal.htot));
+ 		fprintf( ioQQQ,"\n");
+ 	}
+ 
+@@ -230,15 +230,15 @@
+ 	if( prt.lgPrintHeating )
+ 	{
+ 		fprintf( ioQQQ, "              ");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[0][1]/thermal.htot ));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[0][1]/thermal.htot ));
+ 		fprintf( ioQQQ, "         ");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
+ 		fprintf( ioQQQ, " BoundCom");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", ionbal.CompRecoilHeatLocal/ thermal.htot));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", ionbal.CompRecoilHeatLocal/ thermal.htot));
+ 		fprintf( ioQQQ, "   Extra:");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e",thermal.heating[0][20]/thermal.htot));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",thermal.heating[0][20]/thermal.htot));
+ 		fprintf( ioQQQ, "   Pairs:");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[0][21]/ thermal.htot ));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[0][21]/ thermal.htot ));
+ 		fprintf( ioQQQ,"  H-lines\n");
+ 	}
+ 
+@@ -248,36 +248,36 @@
+ 		fprintf( ioQQQ, " Helium       " );
+ 		for( i=0; i < 3; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", dense.xIonDense[ipHELIUM][i]/dense.gas_phase[ipHELIUM]) );
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", dense.xIonDense[ipHELIUM][i]/dense.gas_phase[ipHELIUM]) );
+ 		}
+ 
+ 		fprintf( ioQQQ, " He I2SP3");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", 
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 
+ 			StatesElem[ipHE_LIKE][ipHELIUM][ipHe2s3S].Pop*dense.xIonDense[ipHELIUM][1]/dense.gas_phase[ipHELIUM] ));
+ 		fprintf( ioQQQ, " Comp H,C");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", rfield.cmheat ));
+-		fprintf(ioQQQ,PrintEfmt("%9.2e",  rfield.cmcool*phycon.te));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", rfield.cmheat ));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",  rfield.cmcool*phycon.te));
+ 		fprintf( ioQQQ , " Fill Fac");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", geometry.FillFac));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", geometry.FillFac));
+ 		fprintf( ioQQQ , " Gam1/tot");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", hydro.H_ion_frac_photo));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", hydro.H_ion_frac_photo));
+ 		fprintf( ioQQQ, "\n");
+ 
+ 		/* option to print departure coef */
+ 		if( iso.lgPrtDepartCoef[ipH_LIKE][ipHELIUM] )
+ 		{
+ 			fprintf( ioQQQ, " Helium       " );
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", iso.DepartCoef[ipHE_LIKE][ipHELIUM][0]));
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", iso.DepartCoef[ipH_LIKE][ipHELIUM][ipH1s]));
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", 1.));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", iso.DepartCoef[ipHE_LIKE][ipHELIUM][0]));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", iso.DepartCoef[ipH_LIKE][ipHELIUM][ipH1s]));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 1.));
+ 
+ 			fprintf( ioQQQ, " Comp H,C");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", rfield.cmheat ));
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", rfield.cmcool*phycon.te ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", rfield.cmheat ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", rfield.cmcool*phycon.te ));
+ 			fprintf( ioQQQ , " Fill Fac");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", geometry.FillFac ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", geometry.FillFac ));
+ 			fprintf( ioQQQ , " Gam1/tot");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", hydro.H_ion_frac_photo));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", hydro.H_ion_frac_photo));
+ 			fprintf( ioQQQ, "\n");
+ 		}
+ 
+@@ -292,15 +292,15 @@
+ 			  thermal.htot, thermal.heating[0][19]/thermal.htot, thermal.heating[0][11]/
+ 			  thermal.htot );*/
+ 			fprintf( ioQQQ, "              ");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e",thermal.heating[1][0]/thermal.htot));
+-			fprintf(ioQQQ,PrintEfmt("%9.2e",thermal.heating[1][1]/thermal.htot));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",thermal.heating[1][0]/thermal.htot));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",thermal.heating[1][1]/thermal.htot));
+ 			fprintf( ioQQQ, "   Lines:");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e",thermal.heating[0][22]/thermal.htot));
+-			fprintf(ioQQQ,PrintEfmt("%9.2e",thermal.heating[1][2]/thermal.htot));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",thermal.heating[0][22]/thermal.htot));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",thermal.heating[1][2]/thermal.htot));
+ 			fprintf( ioQQQ, " Compton:");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e",thermal.heating[0][19]/thermal.htot));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",thermal.heating[0][19]/thermal.htot));
+ 			fprintf( ioQQQ, " FFHeatig");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e",thermal.heating[0][11]/thermal.htot));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",thermal.heating[0][11]/thermal.htot));
+ 			fprintf( ioQQQ, "\n");
+ 		}
+ 
+@@ -309,59 +309,59 @@
+ 			/* helium singlets and triplets relative to total helium gas phase density */
+ 			fac = dense.xIonDense[ipHELIUM][1]/dense.gas_phase[ipHELIUM];
+ 			fprintf( ioQQQ, " He singlet n " );
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][1][ipHe1s1S].Pop*fac ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][1][ipHe1s1S].Pop*fac ));
+ 			/* singlet n=2 complex */
+ 			if( iso.numPrintLevels[ipHE_LIKE][ipHELIUM]>= ipHe2p1P )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][1][ipHe2s1S].Pop*fac ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][1][ipHe2p1P].Pop*fac ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][1][ipHe2s1S].Pop*fac ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][1][ipHe2p1P].Pop*fac ));
+ 			}
+ 			else
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
+ 			}
+ 			/* singlet n=3 complex */
+ 			if( iso.numPrintLevels[ipHE_LIKE][ipHELIUM]>= ipHe3p1P )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3s1S].Pop*fac ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3p1P].Pop*fac ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3d1D].Pop*fac ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3s1S].Pop*fac ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3p1P].Pop*fac ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3d1D].Pop*fac ));
+ 			}
+ 			else
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
+ 			}
+ 
+ 			fprintf( ioQQQ, " He tripl" );
+ 			/* triplet n=2 complex */
+ 			if( iso.numPrintLevels[ipHE_LIKE][ipHELIUM]>= ipHe2p3P2 )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe2s3S].Pop*fac ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe2s3S].Pop*fac ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 
+ 					StatesElem[ipHE_LIKE][ipHELIUM][ipHe2p3P0].Pop*fac+
+ 					StatesElem[ipHE_LIKE][ipHELIUM][ipHe2p3P1].Pop*fac+
+ 					StatesElem[ipHE_LIKE][ipHELIUM][ipHe2p3P2].Pop*fac ));
+ 			}
+ 			else
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
+ 			}
+ 			/* triplet n=3 complex */
+ 			if( iso.numPrintLevels[ipHE_LIKE][ipHELIUM]> ipHe3d3D )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3s3S].Pop*fac ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3p3P].Pop*fac ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3d3D].Pop*fac ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3s3S].Pop*fac ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3p3P].Pop*fac ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", StatesElem[ipHE_LIKE][ipHELIUM][ipHe3d3D].Pop*fac ));
+ 			}
+ 			else
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", 0. ));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 		}
+@@ -392,34 +392,34 @@
+ 	/* >>chng 01 dec 08, move pressure to line before grains, after radiation properties */
+ 	/* gas pressure, pressure due to incident radiation field, rad accel */
+ 	fprintf( ioQQQ, " Pressure      NgasTgas");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", pressure.PresGasCurr/BOLTZMANN));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", pressure.PresGasCurr/BOLTZMANN));
+ 	fprintf( ioQQQ, " P(total)");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", pressure.PresTotlCurr));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", pressure.PresTotlCurr));
+ 	fprintf( ioQQQ, " P( gas )");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", pressure.PresGasCurr));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", pressure.PresGasCurr));
+ 	fprintf( ioQQQ, " P(Radtn)");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", pressure.pres_radiation_lines_curr));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", pressure.pres_radiation_lines_curr));
+ 	fprintf( ioQQQ, " Rad accl");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", wind.AccelTot));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", wind.AccelTot));
+ 	fprintf( ioQQQ, " ForceMul");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", wind.fmul));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", wind.fmul));
+ 	fprintf( ioQQQ, "\n" );
+ 
+ 	fprintf( ioQQQ , "               Texc(La)");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",  hydro.TexcLya ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",  hydro.TexcLya ));
+ 	fprintf( ioQQQ , " T(contn)");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",  coninc ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",  coninc ));
+ 	fprintf( ioQQQ , " T(diffs)");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",  cdif ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",  cdif ));
+ 	/* print the total radiation density expressed as an equivalent gas pressure */
+ 	fprintf( ioQQQ , " nT (c+d)");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", con_density ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", con_density ));
+ 	/* print the radiation to gas pressure */
+ 	fprintf( ioQQQ , " Prad/Gas");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", pressure.pbeta ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", pressure.pbeta ));
+ 	/* magnetic to gas pressure ratio */
+ 	fprintf( ioQQQ , " Pmag/Gas");
+-	fprintf(ioQQQ,PrintEfmt("%9.2e",  magnetic.pressure / pressure.PresGasCurr) );
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",  magnetic.pressure / pressure.PresGasCurr) );
+ 	fprintf( ioQQQ, "\n" );
+ 
+ 	if( gv.lgGrainPhysicsOn )
+@@ -431,17 +431,17 @@
+ 			*  added QHMARK here and in the write statement */
+ 			chQHMark = (char)(( gv.bin[nd]->lgQHeat && gv.bin[nd]->lgUseQHeat ) ? '*' : ' ');
+ 			fprintf( ioQQQ, "%-12.12s%c  DustTemp",gv.bin[nd]->chDstLab, chQHMark);
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", gv.bin[nd]->tedust));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", gv.bin[nd]->tedust));
+ 			fprintf( ioQQQ, " Pot Volt");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", gv.bin[nd]->dstpot*EVRYD));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", gv.bin[nd]->dstpot*EVRYD));
+ 			fprintf( ioQQQ, " Chrg (e)");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", gv.bin[nd]->AveDustZ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", gv.bin[nd]->AveDustZ));
+ 			fprintf( ioQQQ, " drf cm/s");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", gv.bin[nd]->DustDftVel));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", gv.bin[nd]->DustDftVel));
+ 			fprintf( ioQQQ, " Heating:");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", gv.bin[nd]->GasHeatPhotoEl));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", gv.bin[nd]->GasHeatPhotoEl));
+ 			fprintf( ioQQQ, " Frac tot");
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", gv.bin[nd]->GasHeatPhotoEl/thermal.htot));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", gv.bin[nd]->GasHeatPhotoEl/thermal.htot));
+ 			fprintf( ioQQQ, "\n" );
+ 		}
+ 	}
+@@ -451,17 +451,17 @@
+ 	if( findspecies("CO")->hevmol > 0. )
+ 	{
+ 		fprintf( ioQQQ, " Molecules     CH/Ctot:");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("CH")->hevmol/dense.gas_phase[ipCARBON]));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("CH")->hevmol/dense.gas_phase[ipCARBON]));
+ 		fprintf( ioQQQ, " CH+/Ctot");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("CH+")->hevmol/dense.gas_phase[ipCARBON]));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("CH+")->hevmol/dense.gas_phase[ipCARBON]));
+ 		fprintf( ioQQQ, " CO/Ctot:");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("CO")->hevmol/dense.gas_phase[ipCARBON]));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("CO")->hevmol/dense.gas_phase[ipCARBON]));
+ 		fprintf( ioQQQ, " CO+/Ctot");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("CO+")->hevmol/dense.gas_phase[ipCARBON]));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("CO+")->hevmol/dense.gas_phase[ipCARBON]));
+ 		fprintf( ioQQQ, " H2O/Otot");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("H2O")->hevmol/dense.gas_phase[ipOXYGEN]));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("H2O")->hevmol/dense.gas_phase[ipOXYGEN]));
+ 		fprintf( ioQQQ, " OH/Ototl");
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("OH")->hevmol/dense.gas_phase[ipOXYGEN]));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("OH")->hevmol/dense.gas_phase[ipOXYGEN]));
+ 		fprintf( ioQQQ, "\n");
+ 	}
+ 
+@@ -475,17 +475,17 @@
+ 		fprintf( ioQQQ, " Lithium      " );
+ 		for( i=0; i < 4; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", dense.xIonDense[ipLITHIUM][i]/MAX2(1e-35,dense.gas_phase[ipLITHIUM]) ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", dense.xIonDense[ipLITHIUM][i]/MAX2(1e-35,dense.gas_phase[ipLITHIUM]) ));
+ 		}
+ 		fprintf( ioQQQ, " Berylliu" );
+ 		for( i=0; i < 5; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e",  dense.xIonDense[ipBERYLLIUM][i]/MAX2(1e-35,dense.gas_phase[ipBERYLLIUM])) );
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",  dense.xIonDense[ipBERYLLIUM][i]/MAX2(1e-35,dense.gas_phase[ipBERYLLIUM])) );
+ 		}
+ 
+ 		/* print secondary ionization rate for atomic hydrogen */
+ 		fprintf( ioQQQ, " sec ion:" );
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", secondaries.csupra[ipHYDROGEN][0]) );
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", secondaries.csupra[ipHYDROGEN][0]) );
+ 		fprintf( ioQQQ, "\n" );
+ 
+ 		/* option to print heating due to these stages*/
+@@ -494,13 +494,13 @@
+ 			fprintf( ioQQQ, "              " );
+ 			for( i=0; i < 3; i++ )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e",  thermal.heating[ipLITHIUM][i]/ thermal.htot) );
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",  thermal.heating[ipLITHIUM][i]/ thermal.htot) );
+ 			}
+ 			fprintf( ioQQQ, "                    " );
+ 
+ 			for( i=0; i < 4; i++ )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[ipBERYLLIUM][i]/thermal.htot ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[ipBERYLLIUM][i]/thermal.htot ));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 		}
+@@ -512,7 +512,7 @@
+ 		fprintf( ioQQQ, " Boron        " );
+ 		for( i=0; i < 6; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", dense.xIonDense[ipBORON][i]/MAX2(1e-35,dense.gas_phase[ipBORON]) ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", dense.xIonDense[ipBORON][i]/MAX2(1e-35,dense.gas_phase[ipBORON]) ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 
+@@ -522,7 +522,7 @@
+ 			fprintf( ioQQQ, "              " );
+ 			for( i=0; i < 5; i++ )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[ipBORON][i]/thermal.htot ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[ipBORON][i]/thermal.htot ));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 		}
+@@ -532,16 +532,16 @@
+ 	fprintf( ioQQQ, " Carbon       " );
+ 	for( i=0; i < 7; i++ )
+ 	{
+-		fprintf(ioQQQ,PrintEfmt("%9.2e", dense.xIonDense[ipCARBON][i]/SDIV(dense.gas_phase[ipCARBON])) );
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", dense.xIonDense[ipCARBON][i]/SDIV(dense.gas_phase[ipCARBON])) );
+ 	}
+ 	/* some molecules trail the line */
+ 	fprintf( ioQQQ, " H2O+/O  " );
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("H2O+")->hevmol/MAX2(1e-35,dense.gas_phase[ipOXYGEN]) ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("H2O+")->hevmol/MAX2(1e-35,dense.gas_phase[ipOXYGEN]) ));
+ 	fprintf( ioQQQ, " OH+/Otot" );
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("OH+")->hevmol/ MAX2(1e-35,dense.gas_phase[ipOXYGEN]) ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("OH+")->hevmol/ MAX2(1e-35,dense.gas_phase[ipOXYGEN]) ));
+ 	/* print extra heating, normally zero */
+ 	fprintf( ioQQQ, " Hex(tot)" );
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[0][20] ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[0][20] ));
+ 	fprintf( ioQQQ, "\n" );
+ 
+ 	/* option to print heating*/
+@@ -550,7 +550,7 @@
+ 		fprintf( ioQQQ, "              " );
+ 		for( i=0; i < ipCARBON+1; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[ipCARBON][i]/ thermal.htot) );
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[ipCARBON][i]/ thermal.htot) );
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 	}
+@@ -559,12 +559,12 @@
+ 	fprintf( ioQQQ, " Nitrogen     " );
+ 	for( i=1; i <= 8; i++ )
+ 	{
+-		fprintf(ioQQQ,PrintEfmt("%9.2e",dense.xIonDense[ipNITROGEN][i-1]/ SDIV(dense.gas_phase[ipNITROGEN]) ));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",dense.xIonDense[ipNITROGEN][i-1]/ SDIV(dense.gas_phase[ipNITROGEN]) ));
+ 	}
+ 	fprintf( ioQQQ, " O2/Ototl" );
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("O2")->hevmol/MAX2(1e-35,dense.gas_phase[ipOXYGEN])));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("O2")->hevmol/MAX2(1e-35,dense.gas_phase[ipOXYGEN])));
+ 	fprintf( ioQQQ, " O2+/Otot" );
+-	fprintf(ioQQQ,PrintEfmt("%9.2e", findspecies("O2+")->hevmol/ MAX2(1e-35,dense.gas_phase[ipOXYGEN]) ));
++	fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", findspecies("O2+")->hevmol/ MAX2(1e-35,dense.gas_phase[ipOXYGEN]) ));
+ 	fprintf( ioQQQ, "\n" );
+ 
+ 	/* option to print heating*/
+@@ -573,7 +573,7 @@
+ 		fprintf( ioQQQ, "              " );
+ 		for( i=0; i < ipNITROGEN+1; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[ipNITROGEN][i]/ thermal.htot ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[ipNITROGEN][i]/ thermal.htot ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 	}
+@@ -583,7 +583,7 @@
+ 	fprintf( ioQQQ, " Oxygen       " );
+ 	for( i=1; i <= 9; i++ )
+ 	{
+-		fprintf(ioQQQ,PrintEfmt("%9.2e",dense.xIonDense[ipOXYGEN][i-1]/ SDIV(dense.gas_phase[ipOXYGEN]) ));
++		fprintf(ioQQQ,"%s", PrintEfmt("%9.2e",dense.xIonDense[ipOXYGEN][i-1]/ SDIV(dense.gas_phase[ipOXYGEN]) ));
+ 	}
+ 	fprintf( ioQQQ, "\n" );
+ 
+@@ -593,7 +593,7 @@
+ 		fprintf( ioQQQ, "              " );
+ 		for( i=0; i < ipOXYGEN+1; i++ )
+ 		{
+-			fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[ipOXYGEN][i]/ thermal.htot ));
++			fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[ipOXYGEN][i]/ thermal.htot ));
+ 		}
+ 		fprintf( ioQQQ, "\n" );
+ 	}
+@@ -610,7 +610,7 @@
+ 
+ 			for( i=0; i < nelem+2; i++ )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", dense.xIonDense[nelem][i]/dense.gas_phase[nelem] ));
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", dense.xIonDense[nelem][i]/dense.gas_phase[nelem] ));
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 
+@@ -620,7 +620,7 @@
+ 				fprintf( ioQQQ, "              " );
+ 				for( i=0; i < nelem+1; i++ )
+ 				{
+-					fprintf(ioQQQ,PrintEfmt("%9.2e", thermal.heating[nelem][i]/thermal.htot ));
++					fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", thermal.heating[nelem][i]/thermal.htot ));
+ 				}
+ 				fprintf( ioQQQ, "\n" );
+ 			}
+@@ -643,7 +643,7 @@
+ 
+ 			for( i=0; i < LINE; i++ )
+ 			{
+-				fprintf(ioQQQ,PrintEfmt("%9.2e", dense.xIonDense[nelem][i+ishift]/dense.gas_phase[nelem]) );
++				fprintf(ioQQQ,"%s", PrintEfmt("%9.2e", dense.xIonDense[nelem][i+ishift]/dense.gas_phase[nelem]) );
+ 			}
+ 			fprintf( ioQQQ, "\n" );
+ 
+@@ -653,8 +653,7 @@
+ 				fprintf( ioQQQ, "              " );
+ 				for( i=0; i < LINE; i++ )
+ 				{
+-					fprintf(ioQQQ,
+-						PrintEfmt("%9.2e", thermal.heating[nelem][i+ishift]/thermal.htot ));
++					fprintf(ioQQQ, "%s", PrintEfmt("%9.2e", thermal.heating[nelem][i+ishift]/thermal.htot ));
+ 				}
+ 				fprintf( ioQQQ, "\n" );
+ 			}
+diff -ur c08.00/source/punch_linedata.cpp c08.00.fmterr/source/punch_linedata.cpp
+--- c08.00/source/punch_linedata.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/punch_linedata.cpp	2014-01-22 19:38:30.953680466 +0100
+@@ -328,10 +328,10 @@
+ 	  (long)(t->Hi->g) );
+ 
+ 	/* oscillator strength */
+-	fprintf( ioPUN,PrintEfmt("%9.2e",  t->Emis->gf));
++	fprintf( ioPUN,"%s", PrintEfmt("%9.2e",  t->Emis->gf));
+ 
+ 	/* Einstein A for transition */
+-	fprintf( ioPUN,PrintEfmt("%9.2e",  t->Emis->Aul));
++	fprintf( ioPUN,"%s", PrintEfmt("%9.2e",  t->Emis->Aul));
+ 
+ 	/* next collision strengths, use different formats depending on size 
+ 	 * of collision strength */
+diff -ur c08.00/source/rt_tau_init.cpp c08.00.fmterr/source/rt_tau_init.cpp
+--- c08.00/source/rt_tau_init.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/rt_tau_init.cpp	2014-01-22 19:34:10.810379281 +0100
+@@ -683,7 +683,7 @@
+ 					if( Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->Aul <= iso.SmallA )
+ 						continue;
+ 
+-					fprintf( ioQQQ,PrintEfmt("%9.2e",
++					fprintf( ioQQQ, "%s", PrintEfmt("%9.2e",
+ 						Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->TauTot ));
+ 				}
+ 				fprintf( ioQQQ, "\n" );
+@@ -698,7 +698,7 @@
+ 					if( Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->Aul <= iso.SmallA )
+ 						continue;
+ 
+-					fprintf( ioQQQ,PrintEfmt("%9.2e", 
++					fprintf( ioQQQ, "%s", PrintEfmt("%9.2e", 
+ 						Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->TauIn ));
+ 				}
+ 				fprintf( ioQQQ, "\n" );
+@@ -713,7 +713,7 @@
+ 					if( Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->Aul <= iso.SmallA )
+ 						continue;
+ 
+-					fprintf( ioQQQ,PrintEfmt("%9.2e", 
++					fprintf( ioQQQ, "%s", PrintEfmt("%9.2e", 
+ 						Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->Aul) );
+ 				}
+ 				fprintf( ioQQQ, "\n" );
+@@ -728,7 +728,7 @@
+ 					if( Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->Aul <= iso.SmallA )
+ 						continue;
+ 
+-					fprintf( ioQQQ,PrintEfmt("%9.2e", 
++					fprintf( ioQQQ, "%s", PrintEfmt("%9.2e", 
+ 						Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->Aul*
+ 					  (Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->Pdest + 
+ 					  Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->Pelec_esc +
+@@ -746,7 +746,7 @@
+ 					if( Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->Aul <= iso.SmallA )
+ 						continue;
+ 
+-					fprintf( ioQQQ,PrintEfmt("%9.2e", 
++					fprintf( ioQQQ, "%s", PrintEfmt("%9.2e", 
+ 						Transitions[ipISO][trace.ipIsoTrace[ipISO]][ipHi][ipLo].Emis->opacity ));
+ 				}
+ 				fprintf( ioQQQ, "\n" );
+diff -ur c08.00/source/stars.cpp c08.00.fmterr/source/stars.cpp
+--- c08.00/source/stars.cpp	2008-08-18 13:05:17.000000000 +0200
++++ c08.00.fmterr/source/stars.cpp	2014-01-22 19:32:16.458351716 +0100
+@@ -2235,7 +2235,7 @@
+ 	{
+ 		fprintf( ioQQQ, "                       * c<< FINAL: T_eff = %7.1f, ", aval[0] );
+ 		fprintf( ioQQQ, "log(g) = %4.2f, M(ZAMS) = %5.1f, age = ", aval[1], pow(10.,aval[2]) );
+-		fprintf( ioQQQ, PrintEfmt("%8.2e",aval[3]) );
++		fprintf( ioQQQ, "%s", PrintEfmt("%8.2e",aval[3]) );
+ 		fprintf( ioQQQ, "  >>> *\n" );
+ 	}
+ 
+@@ -3307,7 +3307,7 @@
+ 				 " %6s = %4.2f %6s = %5.2f %6s = ",
+ 				 grid->names[0], aval[0], grid->names[1], aval[1],
+ 				 grid->names[2], aval[2], grid->names[3] );
+-			fprintf( ioQQQ, PrintEfmt( "%9.2e", aval[3] ) );
++			fprintf( ioQQQ, "%s", PrintEfmt( "%9.2e", aval[3] ) );
+ 			fprintf( ioQQQ, "  >>> *\n" );
+ 		}
+ 	}	
+@@ -3647,7 +3647,7 @@
+ 				 grid->ident, ind, grid->names[0], grid->telg[ind-1].par[0],
+ 				 grid->names[1], grid->telg[ind-1].par[1],
+ 				 grid->names[2], grid->telg[ind-1].par[2], grid->names[3] );
+-			fprintf( ioQQQ, PrintEfmt( "%9.2e", grid->telg[ind-1].par[3] ) );
++			fprintf( ioQQQ, "%s", PrintEfmt( "%9.2e", grid->telg[ind-1].par[3] ) );
+ 			fprintf( ioQQQ, " >> *\n" ); 
+ 		}
+ 	}	
diff --git a/cloudy.spec b/cloudy.spec
index 725d968..a267683 100644
--- a/cloudy.spec
+++ b/cloudy.spec
@@ -1,18 +1,17 @@
 Name: cloudy
 Version: 08.00
-Release: 8%{?dist}
+Release: 9%{?dist}
 Summary: Spectral synthesis code to simulate conditions in interstellar matter
 
-%define upversion 08.00
 
 Group: Applications/Engineering
 License: BSD
 URL: http://www.nublado.org/
-Source0: ftp://gradj.pa.uky.edu/gary/cloudy_gold/c%{upversion}.tar.gz
+Source0: ftp://gradj.pa.uky.edu/gary/cloudy_gold/c%{version}.tar.gz
 Source1: cloudy_no_date_footer.tar.gz
 Patch0: cloudy-doxygen.patch
 Patch1: cloudy-shared.patch
-Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+Patch2: cloudy-fmterr.patch
 
 Requires: %{name}-libs = %{version}-%{release}
 
@@ -58,8 +57,6 @@ This package contains the usage documentation for %{name}.
 Summary: Developer documentation for %{name}
 Group: Documentation
 BuildArch: noarch
-Obsoletes: cloudy-docs < 08.00-1
-Provides: cloudy-docs = %{version}-%{release}
  
 %description devel-doc
 Developer documentation for %{name}
@@ -69,6 +66,7 @@ Developer documentation for %{name}
 %setup -q -n c%{version} -T -D -a 1
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 chmod +x source/precompile.pl
 
 %build
@@ -84,7 +82,6 @@ find -empty -exec rm '{}' ';'
 find -name installdox -exec rm '{}' ';'
 
 %install
-rm -rf %{buildroot}
 mkdir -p %{buildroot}/%{_bindir}
 mkdir -p %{buildroot}/%{_libdir}
 mkdir -p %{buildroot}/%{_includedir}/%{name}
@@ -104,39 +101,35 @@ cp -a data/*.rfi %{buildroot}/%{_datadir}/%{name}/grain
 cp -a data/*.szd %{buildroot}/%{_datadir}/%{name}/grain
 cp -a data/*.in %{buildroot}/%{_datadir}/%{name}/scripts
 
-%clean
-%{__rm} -fr %{buildroot}
-
 %post libs -p /sbin/ldconfig
 
 %postun libs -p /sbin/ldconfig
 
 %files
-%defattr(-,root,root,-)
 %doc readme.txt
 %{_bindir}/*
 
 %files doc
-%defattr(-,root,root,-)
 %doc license.txt docs/* 
 
 %files libs
-%defattr(-,root,root,-)
 %doc license.txt data/readme_data.htm data/readme_LineList_dat.txt
 %{_libdir}/lib%{name}.so.*
 %{_datadir}/%{name}
 
 %files devel
-%defattr(-,root,root,-)
 %doc license.txt 
 %{_includedir}/%{name}
 %{_libdir}/lib%{name}.so
 
 %files devel-doc
-%defattr(-,root,root,-)
 %doc license.txt doxygen/html
 
 %changelog
+* Wed Jan 22 2014 Sergio Pascual <sergiopr at fedoraproject.org> - 08.00-9
+- Updated macros
+- Fix bz #1037017, format security error
+
 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 08.00-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 
@@ -181,7 +174,7 @@ cp -a data/*.in %{buildroot}/%{_datadir}/%{name}/scripts
 * Thu Mar 27 2008 Sergio Pascual <sergiopr at fedoraproject.org> - 07.02.01-3
 - Docs package is noarch (reverted)
 
-* Sat Feb 24 2008 Sergio Pascual <sergiopr at fedoraproject.org> - 07.02.01-2
+* Sun Feb 24 2008 Sergio Pascual <sergiopr at fedoraproject.org> - 07.02.01-2
 - Too much files in docs
 
 * Thu Feb 14 2008 Sergio Pascual <sergiopr at fedoraproject.org> - 07.02.01-1


More information about the scm-commits mailing list