Skip to content

Commit

Permalink
- fix for mapToDymolaVars
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@11325 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
lochel committed Mar 7, 2012
1 parent 666585e commit fdedaa2
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions SimulationRuntime/c/math-support/initialization.c
Expand Up @@ -1148,7 +1148,7 @@ const char* mapToDymolaVars(const char* varname)
else if(varname[i] == ']')
level--;

if(level > 0 && varname[i] == ',')
if(level > 0 && varname[i] == ',' && varname[i+1] != ' ')
newVarnameSize++;
}

Expand All @@ -1161,23 +1161,22 @@ const char* mapToDymolaVars(const char* varname)
level--;

newVarname[i] = varname[j];
if(level > 0 && varname[j] == ',')
if(level > 0 && varname[j] == ',' && varname[j+1] != ' ')
{
i++;
newVarname[i] = ' ';
}
}
newVarname[newVarnameSize] = '\0';

if(!memcmp((const void*)newVarname, (const void*)"der(", 4*sizeof(char)))
while(!memcmp((const void*)newVarname, (const void*)"der(", 4*sizeof(char)))
{
for(pos=newVarnameSize; pos>=4; pos--)
if(varname[pos] == '.')
if(newVarname[pos] == '.')
break;

strcpy(newVarname, varname);
memcpy((void*)newVarname, (void*)(varname+4), (pos-3)*sizeof(char));
memcpy((void*)(newVarname+pos-3), (void*)(varname), 4*sizeof(char));
memcpy((void*)newVarname, (const void*)(newVarname+4), (pos-3)*sizeof(char));
memcpy((void*)(newVarname+pos-3), (const void*)"der(", 4*sizeof(char));
}

return newVarname;
Expand Down

0 comments on commit fdedaa2

Please sign in to comment.