diff --git a/src/opcua/ua_server.cpp b/src/opcua/ua_server.cpp index c43737252587b89e2522b33985d46ccea34ada4f..0e8ddd4957568985632eacc421ccb5c7a0ecad3a 100644 --- a/src/opcua/ua_server.cpp +++ b/src/opcua/ua_server.cpp @@ -993,7 +993,7 @@ static void ua_add_Variable_boolean(UA_Server *server, const string regname, con LOG_F(INFO, "ua_add_variable_boolean array: regname=%s size=%u perm=%s", regname.c_str(), size, perm.c_str()); vattr.valueRank = UA_VALUERANK_ONE_DIMENSION; - UA_UInt32 myArrayDimensions[1] = {(uint32_t)size}; + UA_UInt32 myArrayDimensions[1] = {size}; vattr.arrayDimensions = myArrayDimensions; vattr.arrayDimensionsSize = 1; @@ -1004,7 +1004,7 @@ static void ua_add_Variable_boolean(UA_Server *server, const string regname, con values[i] = false; } - UA_Variant_setArrayCopy(&vattr.value, values, size, &UA_TYPES[UA_TYPES_BOOLEAN]); + UA_Variant_setArray(&vattr.value, values, size, &UA_TYPES[UA_TYPES_BOOLEAN]); vattr.value.arrayDimensions = myArrayDimensions; vattr.value.arrayDimensionsSize = 1; @@ -1023,13 +1023,10 @@ static void ua_add_Variable_boolean(UA_Server *server, const string regname, con UA_QUALIFIEDNAME(mUaLofarNameSpace, (char *)regname.c_str()), // node browse name UA_NODEID_NUMERIC(0, UA_NS0ID_BASEDATAVARIABLETYPE), vattr, DataSource, NULL, NULL); - if (retval != UA_STATUSCODE_GOOD) - { + if (retval != UA_STATUSCODE_GOOD) { // handle error LOG_F(ERROR, "Error adding Boolean node"); } - if (values) - UA_Array_delete(values, size, &UA_TYPES[UA_TYPES_BOOLEAN]); } /* end of ua_add_Variable_[data_type]() functions */