diff --git a/c_runtime/simulation_result.cpp b/c_runtime/simulation_result.cpp index e2c63b5b319..89d9902e14f 100644 --- a/c_runtime/simulation_result.cpp +++ b/c_runtime/simulation_result.cpp @@ -44,7 +44,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * 2. Call emit() to store data points at given time (taken from globalData structure) * 3. Call deinitializeResult with actual number of points produced to store data to file. */ - + #include + #include + #include #include "simulation_result.h" #include "simulation_runtime.h" @@ -135,14 +137,14 @@ int deinitializeResult(const char * filename) ofstream f(filename); if (!f) { - cerr << "Error, couldn't create output file " << filename << endl; + cerr << "Error, couldn't create output file: [" << filename << "] because" << strerror(errno) << "." << endl; return -1; } // Rather ugly numbers than unneccessary rounding. f.precision(numeric_limits::digits10 + 1); f << "#Ptolemy Plot file, generated by OpenModelica" << endl; - f << "#IntervalSize=" << actualPoints<< endl; + f << "#IntervalSize=" << actualPoints << endl; f << "TitleText: OpenModelica simulation plot" << endl; f << "XLabel: t" << endl << endl; diff --git a/c_runtime/solver_dasrt.cpp b/c_runtime/solver_dasrt.cpp index c7c45dcba63..e0af3b2c6b3 100644 --- a/c_runtime/solver_dasrt.cpp +++ b/c_runtime/solver_dasrt.cpp @@ -324,14 +324,14 @@ int dassl_main(int argc, char**argv,double &start, double &stop, double &step, deinitializeEventData(); - string * result_file =(string*)getFlagValue("r",argc,argv); - const char * result_file_cstr; + string *result_file =(string*)getFlagValue("r",argc,argv); + string result_file_cstr; if (!result_file) { - result_file_cstr = string(string(globalData->modelName)+string("_res.plt")).c_str(); + result_file_cstr = string(globalData->modelName)+string("_res.plt"); } else { - result_file_cstr = result_file->c_str(); + result_file_cstr = *result_file; } - if (deinitializeResult(result_file_cstr)) { + if (deinitializeResult(result_file_cstr.c_str())) { status =-1; } return status; diff --git a/c_runtime/solver_euler.cpp b/c_runtime/solver_euler.cpp index 45c34caf6e7..ac4935e965b 100644 --- a/c_runtime/solver_euler.cpp +++ b/c_runtime/solver_euler.cpp @@ -100,15 +100,14 @@ int euler_main( int argc, char** argv,double &start, double &stop, double &step } } - - string * result_file =(string*)getFlagValue("r",argc,argv); - const char * result_file_cstr; + string* result_file =(string*)getFlagValue("r",argc,argv); + string result_file_cstr; if (!result_file) { - result_file_cstr = string(string(globalData->modelName)+string("_res.plt")).c_str(); + result_file_cstr = string(globalData->modelName)+string("_res.plt"); } else { - result_file_cstr = result_file->c_str(); + result_file_cstr = *result_file; } - if (deinitializeResult(result_file_cstr)) { + if (deinitializeResult(result_file_cstr.c_str())) { return -1; } return 0;