From 9c12d5439860311d22776dcd6f9aad1512df8b50 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Jan 22 2014 19:09:25 +0000 Subject: Updated macros - Fix bz #1037017, format security error --- 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 - 08.00-9 +- Updated macros +- Fix bz #1037017, format security error + * Sat Aug 03 2013 Fedora Release Engineering - 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 - 07.02.01-3 - Docs package is noarch (reverted) -* Sat Feb 24 2008 Sergio Pascual - 07.02.01-2 +* Sun Feb 24 2008 Sergio Pascual - 07.02.01-2 - Too much files in docs * Thu Feb 14 2008 Sergio Pascual - 07.02.01-1