Refactored closing/opening of output file

This commit is contained in:
Lew Rossman
2019-03-05 16:15:33 -05:00
parent 8052ed0b6f
commit f2c0718819
3 changed files with 14 additions and 6 deletions

View File

@@ -819,13 +819,13 @@ int DLLEXPORT EN_closeQ(EN_Project p)
if (!p->Openflag) return 102; if (!p->Openflag) return 102;
closequal(p); closequal(p);
p->quality.OpenQflag = FALSE; p->quality.OpenQflag = FALSE;
/*
if (p->outfile.OutFile != NULL) if (p->outfile.OutFile != NULL)
{ {
fclose(p->outfile.OutFile); fclose(p->outfile.OutFile);
p->outfile.OutFile = NULL; p->outfile.OutFile = NULL;
} }
*/
return 0; return 0;
} }

View File

@@ -49,7 +49,11 @@ int openfiles(Project *pr, const char *f1, const char *f2, const char *f3)
strncpy(pr->report.Rpt1Fname, f2, MAXFNAME); strncpy(pr->report.Rpt1Fname, f2, MAXFNAME);
strncpy(pr->outfile.OutFname, f3, MAXFNAME); strncpy(pr->outfile.OutFname, f3, MAXFNAME);
if (strlen(f3) > 0) pr->outfile.Outflag = SAVE; if (strlen(f3) > 0) pr->outfile.Outflag = SAVE;
else pr->outfile.Outflag = SCRATCH; else
{
pr->outfile.Outflag = SCRATCH;
strcpy(pr->outfile.OutFname, pr->TmpOutFname);
}
// Check that file names are not identical // Check that file names are not identical
if (strlen(f1) > 0 && (strcomp(f1, f2) || strcomp(f1, f3))) return 301; if (strlen(f1) > 0 && (strcomp(f1, f2) || strcomp(f1, f3))) return 301;
@@ -181,6 +185,7 @@ int openoutfile(Project *pr)
// If output file name was supplied, then attempt to // If output file name was supplied, then attempt to
// open it. Otherwise open a temporary output file. // open it. Otherwise open a temporary output file.
/*
if (pr->outfile.Outflag == SAVE) if (pr->outfile.Outflag == SAVE)
{ {
pr->outfile.OutFile = fopen(pr->outfile.OutFname, "w+b"); pr->outfile.OutFile = fopen(pr->outfile.OutFname, "w+b");
@@ -192,6 +197,9 @@ int openoutfile(Project *pr)
pr->outfile.OutFile = fopen(pr->outfile.OutFname, "w+b"); pr->outfile.OutFile = fopen(pr->outfile.OutFname, "w+b");
if (pr->outfile.OutFile == NULL) errcode = 304; if (pr->outfile.OutFile == NULL) errcode = 304;
} }
*/
pr->outfile.OutFile = fopen(pr->outfile.OutFname, "w+b");
if (pr->outfile.OutFile == NULL) errcode = 304;
// Save basic network data & energy usage results // Save basic network data & energy usage results
ERRCODE(savenetdata(pr)); ERRCODE(savenetdata(pr));

View File

@@ -545,7 +545,7 @@ int writeresults(Project *pr)
if (nnv == 0 && nlv == 0) return errcode; if (nnv == 0 && nlv == 0) return errcode;
// Return if no output file // Return if no output file
// if (outFile == NULL) outFile = fopen(pr->outfile.OutFname, "r+b"); if (outFile == NULL) outFile = fopen(pr->outfile.OutFname, "rb");
if (outFile == NULL) return 106; if (outFile == NULL) return 106;
// Allocate memory for output variables: // Allocate memory for output variables:
@@ -587,14 +587,14 @@ int writeresults(Project *pr)
time->Htime += time->Rstep; time->Htime += time->Rstep;
} }
} }
/*
// Free output file // Free output file
if (outFile != NULL) if (outFile != NULL)
{ {
fclose(outFile); fclose(outFile);
outFile = NULL; outFile = NULL;
} }
*/
// Free allocated memory // Free allocated memory
for (j = 0; j < m; j++) free(x[j]); for (j = 0; j < m; j++) free(x[j]);
free(x); free(x);