fixed buffer issue

This commit is contained in:
Martino Ferrari
2026-02-06 12:11:03 +01:00
parent 5372d87202
commit fc56cf7a56

View File

@@ -167,7 +167,7 @@ bool JAMessageGAM::Initialise(MARTe::StructuredDataI &data) {
level++;
uint32 n_inputs = data.GetNumberOfChildren();
comparators = new comparator_t[n_inputs];
StreamString buffer;
StreamString strbuffer;
TypeDescriptor td;
for (uint32 i = 0; ok && i < n_inputs; i++) {
ok = data.MoveToChild(i);
@@ -177,32 +177,33 @@ bool JAMessageGAM::Initialise(MARTe::StructuredDataI &data) {
break;
}
level++;
ok = data.Read("Type", buffer);
ok = data.Read("Type", strbuffer);
if (!ok) {
REPORT_ERROR(ErrorManagement::ParametersError,
"Missing mandatory field Type from InputSignals[%lu]",
i);
break;
}
td = TypeDescriptor::GetTypeDescriptorFromTypeName(buffer.Buffer());
td = TypeDescriptor::GetTypeDescriptorFromTypeName(strbuffer.Buffer());
ok = (td != InvalidType) && (is_float(td) || is_int(td));
if (!ok) {
REPORT_ERROR(ErrorManagement::ParametersError,
"Wrong value for field Type from InputSignals[%lu]", i);
break;
}
ok = data.Read("Comparator", buffer);
strbuffer = "";
ok = data.Read("Comparator", strbuffer);
if (!ok) {
REPORT_ERROR(
ErrorManagement::ParametersError,
"Missing mandatory field Comparator from InputSignals[%lu]", i);
break;
}
ok = parse_comparator(buffer, comparators[i].comparator);
ok = parse_comparator(strbuffer, comparators[i].comparator);
if (!ok) {
REPORT_ERROR(ErrorManagement::ParametersError,
"Non Valid Comparator `%s` from InputSignals[%lu]",
buffer, i);
strbuffer.Buffer(), i);
break;
}
if (is_int(td)) {