Skip to content

Commit c6f6ab1

Browse files
committed
- bug-fix: avoid infinite-loop in mapToDymolaVars
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@13139 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent 76a8dc2 commit c6f6ab1

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

SimulationRuntime/c/simulation/solver/initialization.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,9 @@ char* mapToDymolaVars(const char* varname)
533533
if(newVarname[pos] == '.')
534534
break;
535535

536+
if(pos == 3)
537+
break;
538+
536539
memcpy((void*)newVarname, (const void*)(newVarname+4), (pos-3)*sizeof(char));
537540
memcpy((void*)(newVarname+pos-3), (const void*)"der(", 4*sizeof(char));
538541
}
@@ -675,8 +678,7 @@ static int importStartValues(DATA *data, const char* pInitFile, double initTime)
675678
*
676679
* \author lochel
677680
*/
678-
int initialization(DATA *data, const char* pInitMethod, const char* pOptiMethod,
679-
const char* pInitFile, double initTime)
681+
int initialization(DATA *data, const char* pInitMethod, const char* pOptiMethod, const char* pInitFile, double initTime)
680682
{
681683
int initMethod = IIM_STATE; /* default method */
682684
int optiMethod = IOM_NELDER_MEAD_EX; /* default method */

0 commit comments

Comments
 (0)