diff --git a/Compiler/runtime/systemimpl.c b/Compiler/runtime/systemimpl.c index 21cf6ef91a7..543032e232c 100644 --- a/Compiler/runtime/systemimpl.c +++ b/Compiler/runtime/systemimpl.c @@ -904,7 +904,7 @@ extern int SystemImpl__copyFile(const char *str_1, const char *str_2) rv = SystemImpl__createDirectory(str_2); } - if (str_1 == "") + if (strcmp(str_1, "") == 0) rv = 0; char targetFile[100]; diff --git a/Compiler/scripts/default_profiling.xsl b/Compiler/scripts/default_profiling.xsl index 286417729bf..a22d65946ca 100644 --- a/Compiler/scripts/default_profiling.xsl +++ b/Compiler/scripts/default_profiling.xsl @@ -133,7 +133,7 @@ - +
NameVariables
  , diff --git a/SimulationRuntime/c/simulation/modelinfo.c b/SimulationRuntime/c/simulation/modelinfo.c index a0f7a43dfef..52e76090494 100644 --- a/SimulationRuntime/c/simulation/modelinfo.c +++ b/SimulationRuntime/c/simulation/modelinfo.c @@ -235,7 +235,6 @@ static void printVar(FILE *fout, int level, VAR_INFO* info) { fprintf(fout, "\n"); } - static void printFunctions(FILE *fout, FILE *plt, const char *plotFormat, const char *outputPath, const char *modelFilePrefix, DATA *data) { int i; for(i=0; imodelData->modelDataXml.nFunctions; i++) { @@ -269,13 +268,52 @@ static void printProfileBlocks(FILE *fout, FILE *plt, const char *plotFormat, co } } -static void printEquations(FILE *fout, int n, MODEL_DATA_XML *xml) { + +static int getVarIdByName(DATA *data, const char* varName) +{ + int i; + for(i=0;imodelData->nVariablesReal;++i) + if (strcmp(varName, data->modelData->realVarsData[i].info.name) == 0) + return data->modelData->realVarsData[i].info.id; + + for(i=0;imodelData->nParametersReal;++i) + if (strcmp(varName, data->modelData->realParameterData[i].info.name) == 0) + return data->modelData->realParameterData[i].info.id; + + for(i=0;imodelData->nVariablesInteger;++i) + if (strcmp(varName, data->modelData->integerVarsData[i].info.name) == 0) + return data->modelData->integerVarsData[i].info.id; + + for(i=0;imodelData->nParametersInteger;++i) + if (strcmp(varName, data->modelData->integerParameterData[i].info.name) == 0) + return data->modelData->integerParameterData[i].info.id; + + for(i=0;imodelData->nVariablesBoolean;++i) + if (strcmp(varName, data->modelData->integerParameterData[i].info.name) == 0) + return data->modelData->integerParameterData[i].info.id; + + for(i=0;imodelData->nParametersBoolean;++i) + if (strcmp(varName, data->modelData->booleanParameterData[i].info.name) == 0) + return data->modelData->booleanParameterData[i].info.id; + + for(i=0;imodelData->nVariablesString;++i) + if (strcmp(varName, data->modelData->stringVarsData[i].info.name) == 0) + return data->modelData->stringVarsData[i].info.id; + + for(i=0;imodelData->nParametersString;++i) + if (strcmp(varName, data->modelData->stringParameterData[i].info.name) == 0) + return data->modelData->stringParameterData[i].info.id; + + return 0; +} + +static void printEquations(FILE *fout, int n, MODEL_DATA_XML *xml, DATA *data) { int i,j; for(i=0; i\n", modelInfoGetEquation(xml,i).id); indent(fout,4);fprintf(fout, "\n"); for(j=0; j\n", 0 /* modelInfoGetEquation(xml,i).vars[j]->id */); + indent(fout,6);fprintf(fout, "\n", getVarIdByName(data, modelInfoGetEquation(xml,i).vars[j])); } indent(fout,4);fprintf(fout, "\n"); indent(fout,4);fprintf(fout, "\n", rt_accumulated(SIM_TIMER_FIRST_FUNCTION + xml->nFunctions + xml->nProfileBlocks + modelInfoGetEquation(xml,i).id), (long) rt_ncall(SIM_TIMER_FIRST_FUNCTION + xml->nFunctions + xml->nProfileBlocks + modelInfoGetEquation(xml,i).id)); @@ -439,7 +477,7 @@ int printModelInfo(DATA *data, threadData_t *threadData, const char *outputPath, fprintf(fout, "\n"); fprintf(fout, "\n"); - printEquations(fout, data->modelData->modelDataXml.nEquations, &data->modelData->modelDataXml); + printEquations(fout, data->modelData->modelDataXml.nEquations, &data->modelData->modelDataXml, data); fprintf(fout, "\n"); fprintf(fout, "\n");