diff --git a/examples/iec61850_client_example_array/CMakeLists.txt b/examples/iec61850_client_example_array/CMakeLists.txt index 398e3b7b..a4d4b905 100644 --- a/examples/iec61850_client_example_array/CMakeLists.txt +++ b/examples/iec61850_client_example_array/CMakeLists.txt @@ -1,17 +1,17 @@ -set(iec61850_client_array_SRCS +set(iec61850_client_example_array_SRCS client_example_array.c ) IF(WIN32) -set_source_files_properties(${iec61850_client_array_SRCS} +set_source_files_properties(${iec61850_client_example_array_SRCS} PROPERTIES LANGUAGE CXX) ENDIF(WIN32) -add_executable(iec61850_client_array - ${iec61850_client_array_SRCS} +add_executable(iec61850_client_example_array + ${iec61850_client_example_array_SRCS} ) -target_link_libraries(iec61850_client_array +target_link_libraries(iec61850_client_example_array iec61850 ) diff --git a/src/mms/iso_mms/client/mms_client_read.c b/src/mms/iso_mms/client/mms_client_read.c index 8f68f131..30a211c6 100644 --- a/src/mms/iso_mms/client/mms_client_read.c +++ b/src/mms/iso_mms/client/mms_client_read.c @@ -472,7 +472,7 @@ createAlternateAccessComponent(const char* componentName) alternateAccess->list.array[0]->choice.unnamed = (AlternateAccessSelection_t*) GLOBAL_CALLOC(1, sizeof(AlternateAccessSelection_t)); - char* separator = strchr(componentName, '$'); + const char* separator = strchr(componentName, '$'); if (separator) { int size = separator - componentName; @@ -481,7 +481,8 @@ createAlternateAccessComponent(const char* componentName) alternateAccess->list.array[0]->choice.unnamed->choice.selectAlternateAccess.accessSelection.present = AlternateAccessSelection__selectAlternateAccess__accessSelection_PR_component; - alternateAccess->list.array[0]->choice.unnamed->choice.selectAlternateAccess.accessSelection.choice.component.buf = (uint8_t*) strndup(componentName, size); + alternateAccess->list.array[0]->choice.unnamed->choice.selectAlternateAccess.accessSelection.choice.component.buf = + (uint8_t*) StringUtils_copySubString((char*) componentName, (char*) separator); alternateAccess->list.array[0]->choice.unnamed->choice.selectAlternateAccess.accessSelection.choice.component.size = size; alternateAccess->list.array[0]->choice.unnamed->choice.selectAlternateAccess.alternateAccess = createAlternateAccessComponent(separator + 1); @@ -494,7 +495,8 @@ createAlternateAccessComponent(const char* componentName) alternateAccess->list.array[0]->choice.unnamed->choice.selectAccess.present = AlternateAccessSelection__selectAccess_PR_component; - alternateAccess->list.array[0]->choice.unnamed->choice.selectAccess.choice.component.buf = (uint8_t*) strndup(componentName, size); + alternateAccess->list.array[0]->choice.unnamed->choice.selectAccess.choice.component.buf = + (uint8_t*) StringUtils_copyString(componentName); alternateAccess->list.array[0]->choice.unnamed->choice.selectAccess.choice.component.size = size; }