void cleanup (  ) 

closes all open files and delete all pointers

Cleans up. Afterwards we should have an almost defined state.

Postcondition:
input file closed

current output file closed

log file closed

Todo:
move this to debug.cc and debug.h

Definition at line 911 of file debug.cc.

References globals::filename, frontend_in, log_filename, log_output, output, globals::output_filename, trace(), and TRACE_INFORMATION.

Referenced by error(), genericError(), main(), parse_command_line(), and SAerror().

00912 {
00913   trace(TRACE_INFORMATION,"Cleaning up ...\n");
00914 
00915   if ( globals::filename != "<STDIN>" && frontend_in != NULL)
00916   {
00917     trace(TRACE_INFORMATION," + Closing input file: " + globals::filename + "\n");
00918     fclose(frontend_in);
00919   }
00920  
00921   if ( output != &cout && output != &clog && output != log_output && output != NULL )
00922   {
00923     trace(TRACE_INFORMATION," + Closing output file: " + globals::output_filename + ".X\n");
00924     (*output) << flush;
00925     (static_cast<ofstream*>(output))->close();
00926     delete(output);
00927     output = NULL;
00928   }
00929  
00930   if ( log_output != &clog )
00931   {
00932     trace(TRACE_INFORMATION," + Closing log file: " + log_filename + "\n");
00933     (*log_output) << flush;
00934     (static_cast<ofstream*>(log_output))->close();
00935     delete(log_output);
00936     log_output = &cerr;
00937   }
00938 }

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Thu Jan 24 04:01:03 2008 for GNU BPEL2oWFN by  doxygen 1.5.2