Skip to content
This repository was archived by the owner on May 18, 2019. It is now read-only.

Commit 844621f

Browse files
rfrankeOpenModelica-Hudson
authored andcommitted
Make internal copy of instance name, ticket:4130
1 parent d1a6452 commit 844621f

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

SimulationRuntime/cpp/Include/FMU2/FMU2Wrapper.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ fmi2String FMU2Wrapper::LogCategoryFMUName(LogCategoryFMU category) {
5656
FMU2Wrapper::FMU2Wrapper(fmi2String instanceName, fmi2String GUID,
5757
const fmi2CallbackFunctions *functions,
5858
fmi2Boolean loggingOn) :
59-
_global_settings(), _functions(*functions), logger(_functions.logger),
60-
componentEnvironment(_functions.componentEnvironment),
61-
instanceName(_instanceName), logCategories(_logCategories)
59+
_global_settings(),
60+
_functions(*functions),
61+
logger(_functions.logger)
6262
{
6363
_instanceName = instanceName;
6464
_GUID = GUID;

SimulationRuntime/cpp/Include/FMU2/FMU2Wrapper.h

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@
4545

4646
// define logger as macro that passes through variadic args
4747
#define FMU2_LOG(w, status, category, ...) \
48-
if ((w)->logCategories & (1 << (category))) \
49-
(w)->logger((w)->componentEnvironment, (w)->instanceName, \
48+
if ((w)->logCategories() & (1 << (category))) \
49+
(w)->logger((w)->componentEnvironment(), (w)->instanceName(), \
5050
status, (w)->LogCategoryFMUName(category), __VA_ARGS__)
5151

5252
enum LogCategoryFMU {
@@ -74,10 +74,16 @@ class FMU2Wrapper
7474
virtual fmi2Status setDebugLogging(fmi2Boolean loggingOn,
7575
size_t nCategories,
7676
const fmi2String categories[]);
77-
const unsigned int &logCategories;
7877
const fmi2CallbackLogger &logger;
79-
const fmi2ComponentEnvironment &componentEnvironment;
80-
const fmi2String &instanceName;
78+
unsigned int logCategories() {
79+
return _logCategories;
80+
}
81+
fmi2ComponentEnvironment componentEnvironment() {
82+
return _functions.componentEnvironment;
83+
}
84+
fmi2String instanceName() {
85+
return _instanceName.c_str();
86+
}
8187
static fmi2String LogCategoryFMUName(LogCategoryFMU);
8288

8389
// Enter and exit initialization mode, terminate and reset
@@ -154,8 +160,8 @@ class FMU2Wrapper
154160
} ModelState;
155161

156162
unsigned int _logCategories;
157-
fmi2String _instanceName;
158-
fmi2String _GUID;
163+
string _instanceName;
164+
string _GUID;
159165
fmi2CallbackFunctions _functions;
160166
ModelState _state;
161167
};

0 commit comments

Comments
 (0)