diff --git a/src/iec61850/server/mms_mapping/mms_mapping.c b/src/iec61850/server/mms_mapping/mms_mapping.c index 3ac76574..ca043c49 100644 --- a/src/iec61850/server/mms_mapping/mms_mapping.c +++ b/src/iec61850/server/mms_mapping/mms_mapping.c @@ -1150,26 +1150,29 @@ createMmsDomainFromIedDevice(MmsMapping* self, LogicalDevice* logicalDevice) /* add logs (journals) */ Log* log = self->model->logs; - while (log != NULL) { + while (log) { - char journalName[65]; + /* Check if log belongs to this logical device */ + if (log->parent->parent == (ModelNode*)logicalDevice) { + char journalName[65]; - int nameLength = strlen(log->parent->name) + strlen(log->name); + int nameLength = strlen(log->parent->name) + strlen(log->name); - if (nameLength > 63) { - if (DEBUG_IED_SERVER) - printf("IED_SERVER: Log name %s invalid! Resulting journal name too long! Skip log\n", log->name); - } - else { - strcpy(journalName, log->parent->name); - strcat(journalName, "$"); - strcat(journalName, log->name); + if (nameLength > 63) { + if (DEBUG_IED_SERVER) + printf("IED_SERVER: Log name %s invalid! Resulting journal name too long! Skip log\n", log->name); + } + else { + strcpy(journalName, log->parent->name); + strcat(journalName, "$"); + strcat(journalName, log->name); - MmsDomain_addJournal(domain, journalName); + MmsDomain_addJournal(domain, journalName); - LogInstance* logInstance = LogInstance_create(log->parent, log->name); + LogInstance* logInstance = LogInstance_create(log->parent, log->name); - LinkedList_add(self->logInstances, (void*) logInstance); + LinkedList_add(self->logInstances, (void*) logInstance); + } } log = log->sibling; diff --git a/src/mms/iso_mms/server/mms_domain.c b/src/mms/iso_mms/server/mms_domain.c index e0f97b10..f4bdf519 100644 --- a/src/mms/iso_mms/server/mms_domain.c +++ b/src/mms/iso_mms/server/mms_domain.c @@ -84,7 +84,6 @@ MmsDomain_addJournal(MmsDomain* self, const char* name) LinkedList_add(self->journals, (void*) journal); } - MmsJournal MmsDomain_getJournal(MmsDomain* self, const char* name) {