@@ -3894,18 +3894,32 @@ sendNextReportEntrySegment(ReportControl* self)
3894
3894
char dataReference [130 ];
3895
3895
int currentPos = 0 ;
3896
3896
3897
+ LogicalDevice * entryLd = (LogicalDevice * )IedModel_getModelNodeByShortObjectReference (iedModel , dataSetEntry -> logicalDeviceName );
3898
+
3897
3899
int j ;
3898
3900
3899
- for ( j = 0 ; j < iedNameLength ; j ++ )
3901
+ if ( entryLd -> ldName )
3900
3902
{
3901
- dataReference [currentPos ++ ] = iedName [j ];
3902
- }
3903
+ int ldNameLength = (int )strlen (entryLd -> ldName );
3903
3904
3904
- int ldNameLength = (int )strlen (dataSetEntry -> logicalDeviceName );
3905
- for (j = 0 ; j < ldNameLength ; j ++ )
3905
+ for (j = 0 ; j < ldNameLength ; j ++ )
3906
+ {
3907
+ dataReference [currentPos ++ ] = entryLd -> ldName [j ];
3908
+ }
3909
+ }
3910
+ else
3906
3911
{
3907
- dataReference [currentPos ] = dataSetEntry -> logicalDeviceName [j ];
3908
- currentPos ++ ;
3912
+ for (j = 0 ; j < iedNameLength ; j ++ )
3913
+ {
3914
+ dataReference [currentPos ++ ] = iedName [j ];
3915
+ }
3916
+
3917
+ int ldNameLength = (int )strlen (dataSetEntry -> logicalDeviceName );
3918
+ for (j = 0 ; j < ldNameLength ; j ++ )
3919
+ {
3920
+ dataReference [currentPos ] = dataSetEntry -> logicalDeviceName [j ];
3921
+ currentPos ++ ;
3922
+ }
3909
3923
}
3910
3924
3911
3925
dataReference [currentPos ++ ] = '/' ;
@@ -4095,18 +4109,32 @@ sendNextReportEntrySegment(ReportControl* self)
4095
4109
char dataReference [130 ];
4096
4110
int currentPos = 0 ;
4097
4111
4112
+ LogicalDevice * entryLd = (LogicalDevice * )IedModel_getModelNodeByShortObjectReference (iedModel , dataSetEntry -> logicalDeviceName );
4113
+
4098
4114
int j ;
4099
4115
4100
- for ( j = 0 ; j < iedNameLength ; j ++ )
4116
+ if ( entryLd -> ldName )
4101
4117
{
4102
- dataReference [currentPos ++ ] = iedName [j ];
4103
- }
4118
+ int ldNameLength = (int )strlen (entryLd -> ldName );
4104
4119
4105
- int ldNameLength = (int )strlen (dataSetEntry -> logicalDeviceName );
4106
- for (j = 0 ; j < ldNameLength ; j ++ )
4120
+ for (j = 0 ; j < ldNameLength ; j ++ )
4121
+ {
4122
+ dataReference [currentPos ++ ] = entryLd -> ldName [j ];
4123
+ }
4124
+ }
4125
+ else
4107
4126
{
4108
- dataReference [currentPos ] = dataSetEntry -> logicalDeviceName [j ];
4109
- currentPos ++ ;
4127
+ for (j = 0 ; j < iedNameLength ; j ++ )
4128
+ {
4129
+ dataReference [currentPos ++ ] = iedName [j ];
4130
+ }
4131
+
4132
+ int ldNameLength = (int )strlen (dataSetEntry -> logicalDeviceName );
4133
+ for (j = 0 ; j < ldNameLength ; j ++ )
4134
+ {
4135
+ dataReference [currentPos ] = dataSetEntry -> logicalDeviceName [j ];
4136
+ currentPos ++ ;
4137
+ }
4110
4138
}
4111
4139
4112
4140
dataReference [currentPos ++ ] = '/' ;
@@ -4136,7 +4164,6 @@ sendNextReportEntrySegment(ReportControl* self)
4136
4164
/* encode data set value elements */
4137
4165
for (i = 0 ; i < maxIndex ; i ++ )
4138
4166
{
4139
-
4140
4167
bool isInBuffer = false;
4141
4168
4142
4169
if (report -> flags > 0 )
@@ -4190,7 +4217,6 @@ sendNextReportEntrySegment(ReportControl* self)
4190
4217
4191
4218
for (i = 0 ; i < maxIndex ; i ++ )
4192
4219
{
4193
-
4194
4220
bool isIncluded = false;
4195
4221
4196
4222
if (report -> flags > 0 )
@@ -4225,7 +4251,6 @@ sendNextReportEntrySegment(ReportControl* self)
4225
4251
4226
4252
if (isIncluded )
4227
4253
{
4228
-
4229
4254
if (i >= startElementIndex )
4230
4255
bufPos = MmsValue_encodeMmsData (& _reason , buffer , bufPos , true);
4231
4256
@@ -4268,7 +4293,6 @@ sendNextReportEntrySegment(ReportControl* self)
4268
4293
4269
4294
if (segmented == false)
4270
4295
{
4271
-
4272
4296
assert (self -> reportBuffer -> nextToTransmit != self -> reportBuffer -> nextToTransmit -> next );
4273
4297
4274
4298
self -> reportBuffer -> nextToTransmit = self -> reportBuffer -> nextToTransmit -> next ;
0 commit comments