- config file parser: handle case when there is no phyAddr for SVCB or GoCB (#518)

pull/535/head
Michael Zillgith 11 months ago
parent 59b0609a78
commit 243c988526

@ -448,9 +448,12 @@ ConfigFileParser_createModelFromConfigFile(FileHandle fileHandle)
if (matchedItems < 5) goto exit_error; if (matchedItems < 5) goto exit_error;
currentGoCB = GSEControlBlock_create(nameString, currentLN, nameString2, currentGoCB = GSEControlBlock_create(nameString, currentLN, nameString2,
nameString3, confRef, fixedOffs, minTime, maxTime); nameString3, confRef, fixedOffs, minTime, maxTime);
indendation = 4; if (StringUtils_endsWith((char*) lineBuffer, "{"))
{
indendation = 4;
}
} }
else if (StringUtils_startsWith((char*) lineBuffer, "SMVC")) else if (StringUtils_startsWith((char*) lineBuffer, "SMVC"))
{ {
@ -467,12 +470,14 @@ ConfigFileParser_createModelFromConfigFile(FileHandle fileHandle)
currentSMVCB = SVControlBlock_create(nameString, currentLN, nameString2, nameString3, confRev, smpMod, smpRate, optFlds, (bool) isUnicast); currentSMVCB = SVControlBlock_create(nameString, currentLN, nameString2, nameString3, confRev, smpMod, smpRate, optFlds, (bool) isUnicast);
indendation = 4; if (StringUtils_endsWith((char*) lineBuffer, "{"))
{
indendation = 4;
}
} }
#if (CONFIG_IEC61850_SETTING_GROUPS == 1) #if (CONFIG_IEC61850_SETTING_GROUPS == 1)
else if (StringUtils_startsWith((char*) lineBuffer, "SG")) else if (StringUtils_startsWith((char*) lineBuffer, "SG"))
{ {
if (strcmp(currentLN->name, "LLN0") != 0) { if (strcmp(currentLN->name, "LLN0") != 0) {
if (DEBUG_IED_SERVER) if (DEBUG_IED_SERVER)
printf("IED_SERVER: Setting group control is not defined in LLN0\n"); printf("IED_SERVER: Setting group control is not defined in LLN0\n");
@ -492,13 +497,13 @@ ConfigFileParser_createModelFromConfigFile(FileHandle fileHandle)
} }
#endif /* (CONFIG_IEC61850_SETTING_GROUPS == 1) */ #endif /* (CONFIG_IEC61850_SETTING_GROUPS == 1) */
else { else
{
if (DEBUG_IED_SERVER) if (DEBUG_IED_SERVER)
printf("IED_SERVER: Unknown identifier (%s)\n", lineBuffer); printf("IED_SERVER: Unknown identifier (%s)\n", lineBuffer);
goto exit_error; goto exit_error;
} }
} }
else if (indendation > 3) else if (indendation > 3)
{ {

Loading…
Cancel
Save