Prechádzať zdrojové kódy

refactor(server): Replace _deleteMembers with _clear

Julius Pfrommer 5 rokov pred
rodič
commit
073f417d82

+ 2 - 2
src/server/ua_discovery_manager.c

@@ -156,7 +156,7 @@ UA_DiscoveryManager_deleteMembers(UA_DiscoveryManager *dm, UA_Server *server) {
     registeredServer_list_entry *rs, *rs_tmp;
     LIST_FOREACH_SAFE(rs, &dm->registeredServers, pointers, rs_tmp) {
         LIST_REMOVE(rs, pointers);
-        UA_RegisteredServer_deleteMembers(&rs->registeredServer);
+        UA_RegisteredServer_clear(&rs->registeredServer);
         UA_free(rs);
     }
     periodicServerRegisterCallback_entry *ps, *ps_tmp;
@@ -175,7 +175,7 @@ UA_DiscoveryManager_deleteMembers(UA_DiscoveryManager *dm, UA_Server *server) {
     serverOnNetwork_list_entry *son, *son_tmp;
     LIST_FOREACH_SAFE(son, &dm->serverOnNetwork, pointers, son_tmp) {
         LIST_REMOVE(son, pointers);
-        UA_ServerOnNetwork_deleteMembers(&son->serverOnNetwork);
+        UA_ServerOnNetwork_clear(&son->serverOnNetwork);
         if(son->pathTmp)
             UA_free(son->pathTmp);
         UA_free(son);

+ 14 - 14
src/server/ua_server_binary.c

@@ -75,7 +75,7 @@ sendServiceFault(UA_SecureChannel *channel, const UA_ByteString *msg,
         return retval;
     retval = sendServiceFaultWithRequest(channel, &requestHeader, responseType,
                                          requestId, error);
-    UA_RequestHeader_deleteMembers(&requestHeader);
+    UA_RequestHeader_clear(&requestHeader);
     return retval;
 }
 
@@ -287,7 +287,7 @@ processHEL(UA_Server *server, UA_Connection *connection,
         return retval;
 
     /* Currently not checked */
-    UA_String_deleteMembers(&helloMessage.endpointUrl);
+    UA_String_clear(&helloMessage.endpointUrl);
 
     /* TODO: Use the config of the exact NetworkLayer */
     if(server->config.networkLayersSize == 0)
@@ -353,7 +353,7 @@ processOPN(UA_Server *server, UA_SecureChannel *channel,
     UA_StatusCode retval = UA_NodeId_decodeBinary(msg, &offset, &requestType);
 
     if(retval != UA_STATUSCODE_GOOD) {
-        UA_NodeId_deleteMembers(&requestType);
+        UA_NodeId_clear(&requestType);
         UA_LOG_INFO_CHANNEL(&server->config.logger, channel,
                             "Could not decode the NodeId. Closing the connection");
         UA_SecureChannelManager_close(&server->secureChannelManager, channel->securityToken.channelId);
@@ -364,20 +364,20 @@ processOPN(UA_Server *server, UA_SecureChannel *channel,
     /* Error occurred */
     if(retval != UA_STATUSCODE_GOOD ||
        requestType.identifier.numeric != UA_TYPES[UA_TYPES_OPENSECURECHANNELREQUEST].binaryEncodingId) {
-        UA_NodeId_deleteMembers(&requestType);
-        UA_OpenSecureChannelRequest_deleteMembers(&openSecureChannelRequest);
+        UA_NodeId_clear(&requestType);
+        UA_OpenSecureChannelRequest_clear(&openSecureChannelRequest);
         UA_LOG_INFO_CHANNEL(&server->config.logger, channel,
                             "Could not decode the OPN message. Closing the connection.");
         UA_SecureChannelManager_close(&server->secureChannelManager, channel->securityToken.channelId);
         return retval;
     }
-    UA_NodeId_deleteMembers(&requestType);
+    UA_NodeId_clear(&requestType);
 
     /* Call the service */
     UA_OpenSecureChannelResponse openScResponse;
     UA_OpenSecureChannelResponse_init(&openScResponse);
     Service_OpenSecureChannel(server, channel, &openSecureChannelRequest, &openScResponse);
-    UA_OpenSecureChannelRequest_deleteMembers(&openSecureChannelRequest);
+    UA_OpenSecureChannelRequest_clear(&openSecureChannelRequest);
     if(openScResponse.responseHeader.serviceResult != UA_STATUSCODE_GOOD) {
         UA_LOG_INFO_CHANNEL(&server->config.logger, channel, "Could not open a SecureChannel. "
                             "Closing the connection.");
@@ -389,7 +389,7 @@ processOPN(UA_Server *server, UA_SecureChannel *channel,
     /* Send the response */
     retval = UA_SecureChannel_sendAsymmetricOPNMessage(channel, requestId, &openScResponse,
                                                        &UA_TYPES[UA_TYPES_OPENSECURECHANNELRESPONSE]);
-    UA_OpenSecureChannelResponse_deleteMembers(&openScResponse);
+    UA_OpenSecureChannelResponse_clear(&openScResponse);
     if(retval != UA_STATUSCODE_GOOD) {
         UA_LOG_INFO_CHANNEL(&server->config.logger, channel,
                             "Could not send the OPN answer with error code %s",
@@ -588,7 +588,7 @@ processMSG(UA_Server *server, UA_SecureChannel *channel,
         return retval;
     if(requestTypeId.namespaceIndex != 0 ||
        requestTypeId.identifierType != UA_NODEIDTYPE_NUMERIC)
-        UA_NodeId_deleteMembers(&requestTypeId); /* leads to badserviceunsupported */
+        UA_NodeId_clear(&requestTypeId); /* leads to badserviceunsupported */
 
     size_t requestPos = offset; /* Store the offset (for sendServiceFault) */
 
@@ -633,7 +633,7 @@ processMSG(UA_Server *server, UA_SecureChannel *channel,
             if(server->config.verifyRequestTimestamp <= UA_RULEHANDLING_ABORT) {
                 retval = sendServiceFaultWithRequest(channel, requestHeader, responseType,
                                                      requestId, UA_STATUSCODE_BADINVALIDTIMESTAMP);
-                UA_deleteMembers(request, requestType);
+                UA_clear(request, requestType);
                 return retval;
             }
         }
@@ -642,7 +642,7 @@ processMSG(UA_Server *server, UA_SecureChannel *channel,
 #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
     /* Set the authenticationToken from the create session request to help
      * fuzzing cover more lines */
-    UA_NodeId_deleteMembers(&requestHeader->authenticationToken);
+    UA_NodeId_clear(&requestHeader->authenticationToken);
     if(!UA_NodeId_isNull(&unsafe_fuzz_authenticationToken))
         UA_NodeId_copy(&unsafe_fuzz_authenticationToken, &requestHeader->authenticationToken);
 #endif
@@ -657,8 +657,8 @@ processMSG(UA_Server *server, UA_SecureChannel *channel,
                                responseHeader, responseType, sessionRequired);
 
     /* Clean up */
-    UA_deleteMembers(request, requestType);
-    UA_deleteMembers(responseHeader, responseType);
+    UA_clear(request, requestType);
+    UA_clear(responseHeader, responseType);
     return retval;
 }
 
@@ -770,7 +770,7 @@ processCompleteChunkWithoutChannel(UA_Server *server, UA_Connection *connection,
             break;
 
         retval = createSecureChannel(server, connection, &asymHeader);
-        UA_AsymmetricAlgorithmSecurityHeader_deleteMembers(&asymHeader);
+        UA_AsymmetricAlgorithmSecurityHeader_clear(&asymHeader);
         if(retval != UA_STATUSCODE_GOOD)
             break;
 

+ 2 - 2
src/server/ua_server_discovery.c

@@ -79,7 +79,7 @@ register_server_with_discovery_server(UA_Server *server,
                         &response, &UA_TYPES[UA_TYPES_REGISTERSERVER2RESPONSE]);
 
     UA_StatusCode serviceResult = response.responseHeader.serviceResult;
-    UA_RegisterServer2Response_deleteMembers(&response);
+    UA_RegisterServer2Response_clear(&response);
     UA_Array_delete(request.discoveryConfiguration,
                     request.discoveryConfigurationSize,
                     &UA_TYPES[UA_TYPES_EXTENSIONOBJECT]);
@@ -103,7 +103,7 @@ register_server_with_discovery_server(UA_Server *server,
                             &UA_TYPES[UA_TYPES_REGISTERSERVERRESPONSE]);
 
         serviceResult = response_fallback.responseHeader.serviceResult;
-        UA_RegisterServerResponse_deleteMembers(&response_fallback);
+        UA_RegisterServerResponse_clear(&response_fallback);
     }
 
     if(serviceResult != UA_STATUSCODE_GOOD) {

+ 4 - 4
src/server/ua_server_methodqueue.c

@@ -106,7 +106,7 @@ UA_Server_CheckQueueIntegrity(UA_Server *server, void *data) {
                 UA_CallMethodResult_clear(result);
                 result->statusCode = UA_STATUSCODE_BADREQUESTTIMEOUT;
                 UA_Server_InsertMethodResponse(server, request_elem->m_nRequestId, &request_elem->m_nSessionId, request_elem->m_nIndex, result);
-                UA_CallMethodResult_deleteMembers(result);
+                UA_CallMethodResult_clear(result);
                 UA_Server_DeleteMethodQueueElement(server, request_elem);
             }
             else {
@@ -138,7 +138,7 @@ UA_Server_CheckQueueIntegrity(UA_Server *server, void *data) {
                 UA_CallMethodResult_clear(result);
                 result->statusCode = UA_STATUSCODE_BADREQUESTTIMEOUT;
                 UA_Server_InsertMethodResponse(server, request_elem->m_nRequestId, &request_elem->m_nSessionId, request_elem->m_nIndex, result);
-                UA_CallMethodResult_deleteMembers(result);
+                UA_CallMethodResult_clear(result);
                 UA_Server_DeleteMethodQueueElement(server, request_elem);
             }
             else {
@@ -221,8 +221,8 @@ UA_Server_GetAsyncMethodResult(UA_Server *server, struct AsyncMethodQueueElement
 /* Deep delete queue Element - only memory we did allocate */
 void
 UA_Server_DeleteMethodQueueElement(UA_Server *server, struct AsyncMethodQueueElement *pElem) {
-    UA_CallMethodRequest_deleteMembers(&pElem->m_Request);
-    UA_CallMethodResult_deleteMembers(&pElem->m_Response);
+    UA_CallMethodRequest_clear(&pElem->m_Request);
+    UA_CallMethodResult_clear(&pElem->m_Response);
     UA_free(pElem);
 }
 

+ 3 - 3
src/server/ua_services_discovery.c

@@ -419,7 +419,7 @@ process_RegisterServer(UA_Server *server, UA_Session *session,
 
         // server found, remove from list
         LIST_REMOVE(registeredServer_entry, pointers);
-        UA_RegisteredServer_deleteMembers(&registeredServer_entry->registeredServer);
+        UA_RegisteredServer_clear(&registeredServer_entry->registeredServer);
 #if UA_MULTITHREADING >= 200
         UA_atomic_subSize(&server->discoveryManager.registeredServersSize, 1);
         registeredServer_entry->delayedCleanup.callback = NULL; /* only free the structure */
@@ -452,7 +452,7 @@ process_RegisterServer(UA_Server *server, UA_Session *session,
         server->discoveryManager.registeredServersSize++;
 #endif
     } else {
-        UA_RegisteredServer_deleteMembers(&registeredServer_entry->registeredServer);
+        UA_RegisteredServer_clear(&registeredServer_entry->registeredServer);
     }
 
     // Always call the callback, if it is set.
@@ -547,7 +547,7 @@ void UA_Discovery_cleanupTimedOut(UA_Server *server, UA_DateTime nowMonotonic) {
                             current->registeredServer.serverUri.data);
             }
             LIST_REMOVE(current, pointers);
-            UA_RegisteredServer_deleteMembers(&current->registeredServer);
+            UA_RegisteredServer_clear(&current->registeredServer);
 #if UA_MULTITHREADING >= 200
             UA_atomic_subSize(&server->discoveryManager.registeredServersSize, 1);
             current->delayedCleanup.callback = NULL; /* Only free the structure */

+ 10 - 10
src/server/ua_services_monitoreditem.c

@@ -81,8 +81,8 @@ setMonitoredItemSettings(UA_Server *server, UA_MonitoredItem *mon,
     UA_MonitoredItem_unregisterSampleCallback(server, mon);
 
     /* Remove the old samples */
-    UA_ByteString_deleteMembers(&mon->lastSampledValue);
-    UA_Variant_deleteMembers(&mon->lastValue);
+    UA_ByteString_clear(&mon->lastSampledValue);
+    UA_Variant_clear(&mon->lastValue);
 
     /* ClientHandle */
     mon->clientHandle = params->clientHandle;
@@ -175,7 +175,7 @@ Operation_CreateMonitoredItem(UA_Server *server, UA_Session *session, struct cre
        v.status != UA_STATUSCODE_BADNOTREADABLE &&
        v.status != UA_STATUSCODE_BADINDEXRANGENODATA) {
         result->statusCode = v.status;
-        UA_DataValue_deleteMembers(&v);
+        UA_DataValue_clear(&v);
         return;
     }
 
@@ -184,7 +184,7 @@ Operation_CreateMonitoredItem(UA_Server *server, UA_Session *session, struct cre
        (!UA_String_equal(&binaryEncoding, &request->itemToMonitor.dataEncoding.name) ||
         request->itemToMonitor.dataEncoding.namespaceIndex != 0)) {
         result->statusCode = UA_STATUSCODE_BADDATAENCODINGUNSUPPORTED;
-        UA_DataValue_deleteMembers(&v);
+        UA_DataValue_clear(&v);
         return;
     }
 
@@ -192,7 +192,7 @@ Operation_CreateMonitoredItem(UA_Server *server, UA_Session *session, struct cre
     if(request->itemToMonitor.attributeId != UA_ATTRIBUTEID_VALUE &&
        request->itemToMonitor.dataEncoding.name.length > 0) {
         result->statusCode = UA_STATUSCODE_BADDATAENCODINGINVALID;
-        UA_DataValue_deleteMembers(&v);
+        UA_DataValue_clear(&v);
         return;
     }
 
@@ -203,7 +203,7 @@ Operation_CreateMonitoredItem(UA_Server *server, UA_Session *session, struct cre
     UA_MonitoredItem *newMon = (UA_MonitoredItem*)UA_malloc(nmsize);
     if(!newMon) {
         result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY;
-        UA_DataValue_deleteMembers(&v);
+        UA_DataValue_clear(&v);
         return;
     }
 
@@ -216,7 +216,7 @@ Operation_CreateMonitoredItem(UA_Server *server, UA_Session *session, struct cre
     retval |= UA_String_copy(&request->itemToMonitor.indexRange, &newMon->indexRange);
     retval |= setMonitoredItemSettings(server, newMon, request->monitoringMode,
                                        &request->requestedParameters, v.value.type);
-    UA_DataValue_deleteMembers(&v);
+    UA_DataValue_clear(&v);
     if(retval != UA_STATUSCODE_GOOD) {
         UA_LOG_INFO_SESSION(&server->config.logger, session,
                             "Subscription %u | Could not create a MonitoredItem "
@@ -356,7 +356,7 @@ Operation_ModifyMonitoredItem(UA_Server *server, UA_Session *session, UA_Subscri
     UA_StatusCode retval = setMonitoredItemSettings(server, mon, mon->monitoringMode,
                                                     &request->requestedParameters,
                                                     v.value.type);
-    UA_DataValue_deleteMembers(&v);
+    UA_DataValue_clear(&v);
     if(retval != UA_STATUSCODE_GOOD) {
         result->statusCode = retval;
         return;
@@ -481,8 +481,8 @@ Operation_SetMonitoringMode(UA_Server *server, UA_Session *session,
         }
 
         /* Initialize lastSampledValue */
-        UA_ByteString_deleteMembers(&mon->lastSampledValue);
-        UA_Variant_deleteMembers(&mon->lastValue);
+        UA_ByteString_clear(&mon->lastSampledValue);
+        UA_Variant_clear(&mon->lastValue);
     }
 }
 

+ 25 - 25
src/server/ua_services_nodemanagement.c

@@ -23,7 +23,7 @@
     UA_String nodeIdStr = UA_STRING_NULL;   \
     UA_NodeId_toString(NODEID, &nodeIdStr); \
     LOG;                                    \
-    UA_String_deleteMembers(&nodeIdStr);    \
+    UA_String_clear(&nodeIdStr);            \
 }
 
 /*********************/
@@ -202,7 +202,7 @@ typeCheckVariableNode(UA_Server *server, UA_Session *session,
                               "AddNodes: The value of %.*s is incompatible with "
                               "the datatype of the VariableType",
                               (int)nodeIdStr.length, nodeIdStr.data));
-        UA_DataValue_deleteMembers(&value);
+        UA_DataValue_clear(&value);
         return UA_STATUSCODE_BADTYPEMISMATCH;
     }
 
@@ -212,7 +212,7 @@ typeCheckVariableNode(UA_Server *server, UA_Session *session,
         UA_LOG_NODEID_WRAP(&node->nodeId, UA_LOG_INFO_SESSION(&server->config.logger, session,
                            "AddNodes: The value rank of %.*s is incomatible "
                            "with its array dimensions", (int)nodeIdStr.length, nodeIdStr.data));
-        UA_DataValue_deleteMembers(&value);
+        UA_DataValue_clear(&value);
         return UA_STATUSCODE_BADTYPEMISMATCH;
     }
 
@@ -222,7 +222,7 @@ typeCheckVariableNode(UA_Server *server, UA_Session *session,
                            "AddNodes: The value rank of %.*s is incomatible "
                            "with the value rank of the VariableType",
                            (int)nodeIdStr.length, nodeIdStr.data));
-        UA_DataValue_deleteMembers(&value);
+        UA_DataValue_clear(&value);
         return UA_STATUSCODE_BADTYPEMISMATCH;
     }
 
@@ -233,7 +233,7 @@ typeCheckVariableNode(UA_Server *server, UA_Session *session,
                            "AddNodes: The array dimensions of %.*s are "
                            "incomatible with the array dimensions of the VariableType",
                            (int)nodeIdStr.length, nodeIdStr.data));
-        UA_DataValue_deleteMembers(&value);
+        UA_DataValue_clear(&value);
         return UA_STATUSCODE_BADTYPEMISMATCH;
     }
 
@@ -247,7 +247,7 @@ typeCheckVariableNode(UA_Server *server, UA_Session *session,
             retval = writeWithWriteValue(server, &node->nodeId, UA_ATTRIBUTEID_VALUE, &UA_TYPES[UA_TYPES_VARIANT], &value.value);
         }
 
-        UA_DataValue_deleteMembers(&value);
+        UA_DataValue_clear(&value);
         if(retval != UA_STATUSCODE_GOOD) {
             UA_LOG_NODEID_WRAP(&node->nodeId, UA_LOG_INFO_SESSION(&server->config.logger, session,
                                "AddNodes: The value of of %.*s is incomatible with the "
@@ -289,7 +289,7 @@ useVariableTypeAttributes(UA_Server *server, UA_Session *session,
 
     if(orig.value.type) {
         /* A value is present */
-        UA_DataValue_deleteMembers(&orig);
+        UA_DataValue_clear(&orig);
     } else {
         UA_LOG_DEBUG_SESSION(&server->config.logger, session,
                              "AddNodes: No value given; Copy the value "
@@ -303,7 +303,7 @@ useVariableTypeAttributes(UA_Server *server, UA_Session *session,
             retval = writeWithSession(server, session, &v);
             modified = true;
         }
-        UA_DataValue_deleteMembers(&v.value);
+        UA_DataValue_clear(&v.value);
         if(retval != UA_STATUSCODE_GOOD)
             return retval;
     }
@@ -390,7 +390,7 @@ findChildByBrowsename(UA_Server *server, UA_Session *session,
         }
     }
 
-    UA_BrowseResult_deleteMembers(&br);
+    UA_BrowseResult_clear(&br);
     return retval;
 }
 
@@ -453,7 +453,7 @@ copyChild(UA_Server *server, UA_Session *session, const UA_NodeId *destinationNo
         if(rd->nodeClass == UA_NODECLASS_VARIABLE ||
            rd->nodeClass == UA_NODECLASS_OBJECT)
             retval = copyAllChildren(server, session, &rd->nodeId.nodeId, &existingChild);
-        UA_NodeId_deleteMembers(&existingChild);
+        UA_NodeId_clear(&existingChild);
         return retval;
     }
 
@@ -503,7 +503,7 @@ copyChild(UA_Server *server, UA_Session *session, const UA_NodeId *destinationNo
         node->constructed = false;
 
         /* Reset the NodeId (random numeric id will be assigned in the nodestore) */
-        UA_NodeId_deleteMembers(&node->nodeId);
+        UA_NodeId_clear(&node->nodeId);
         node->nodeId.namespaceIndex = destinationNodeId->namespaceIndex;
 
         if (server->config.nodeLifecycle.generateChildNodeId) {
@@ -583,7 +583,7 @@ copyAllChildren(UA_Server *server, UA_Session *session,
             return retval;
     }
 
-    UA_BrowseResult_deleteMembers(&br);
+    UA_BrowseResult_clear(&br);
     return retval;
 }
 
@@ -958,7 +958,7 @@ Operation_addNode_begin(UA_Server *server, UA_Session *session, void *nodeContex
         deleteNode(server, *outNewNodeId, true);
 
     if(outNewNodeId == &newId)
-        UA_NodeId_deleteMembers(&newId);
+        UA_NodeId_clear(&newId);
     return retval;
 }
 
@@ -1043,7 +1043,7 @@ findDefaultInstanceBrowseNameNode(UA_Server *server,
         bpr.targetsSize > 0) {
         retval = UA_NodeId_copy(&bpr.targets[0].targetId.nodeId, foundId);
     }
-    UA_BrowsePathResult_deleteMembers(&bpr);
+    UA_BrowsePathResult_clear(&bpr);
     return retval;
 }
 
@@ -1146,7 +1146,7 @@ recursiveCallConstructors(UA_Server *server, UA_Session *session,
             break;
     }
 
-    UA_BrowseResult_deleteMembers(&br);
+    UA_BrowseResult_clear(&br);
 
     /* If a child could not be constructed or the node is already constructed */
     if(retval != UA_STATUSCODE_GOOD)
@@ -1300,7 +1300,7 @@ Operation_addNode(UA_Server *server, UA_Session *session, void *nodeContext,
 
     /* If finishing failed, the node was deleted */
     if(result->statusCode != UA_STATUSCODE_GOOD)
-        UA_NodeId_deleteMembers(&result->addedNodeId);
+        UA_NodeId_clear(&result->addedNodeId);
 }
 
 void
@@ -1355,7 +1355,7 @@ addNode(UA_Server *server, const UA_NodeClass nodeClass,
     if(outNewNodeId)
         *outNewNodeId = result.addedNodeId;
     else
-        UA_NodeId_deleteMembers(&result.addedNodeId);
+        UA_NodeId_clear(&result.addedNodeId);
     return result.statusCode;
 }
 
@@ -1546,7 +1546,7 @@ recursiveDeconstructNode(UA_Server *server, UA_Session *session,
         UA_Nodestore_releaseNode(server->nsCtx, child);
     }
 
-    UA_BrowseResult_deleteMembers(&br);
+    UA_BrowseResult_clear(&br);
 }
 
 static void
@@ -1585,7 +1585,7 @@ recursiveDeleteNode(UA_Server *server, UA_Session *session,
         UA_Nodestore_releaseNode(server->nsCtx, child);
     }
 
-    UA_BrowseResult_deleteMembers(&br);
+    UA_BrowseResult_clear(&br);
 
     if(removeTargetRefs)
         removeIncomingReferences(server, session, node);
@@ -1978,7 +1978,7 @@ UA_Server_addDataSourceVariableNode(UA_Server *server, const UA_NodeId requested
  cleanup:
     UA_UNLOCK(server->serviceMutex);
     if(outNewNodeId == &newNodeId)
-        UA_NodeId_deleteMembers(&newNodeId);
+        UA_NodeId_clear(&newNodeId);
 
     return retval;
 }
@@ -1989,7 +1989,7 @@ setDataSource(UA_Server *server, UA_Session *session,
     if(node->nodeClass != UA_NODECLASS_VARIABLE)
         return UA_STATUSCODE_BADNODECLASSINVALID;
     if(node->valueSource == UA_VALUESOURCE_DATA)
-        UA_DataValue_deleteMembers(&node->value.data.value);
+        UA_DataValue_clear(&node->value.data.value);
     node->value.dataSource = *dataSource;
     node->valueSource = UA_VALUESOURCE_DATASOURCE;
     return UA_STATUSCODE_GOOD;
@@ -2049,7 +2049,7 @@ UA_Server_addMethodNodeEx_finish(UA_Server *server, const UA_NodeId nodeId, UA_M
     UA_StatusCode retval = br.statusCode;
     if(retval != UA_STATUSCODE_GOOD) {
         deleteNode(server, nodeId, true);
-        UA_BrowseResult_deleteMembers(&br);
+        UA_BrowseResult_clear(&br);
         return retval;
     }
 
@@ -2125,14 +2125,14 @@ UA_Server_addMethodNodeEx_finish(UA_Server *server, const UA_NodeId nodeId, UA_M
     if(outputArgumentsOutNewNodeId != NULL) {
         UA_NodeId_copy(&outputArgsId, outputArgumentsOutNewNodeId);
     }
-    UA_BrowseResult_deleteMembers(&br);
+    UA_BrowseResult_clear(&br);
     return retval;
 
 error:
     deleteNode(server, nodeId, true);
     deleteNode(server, inputArgsId, true);
     deleteNode(server, outputArgsId, true);
-    UA_BrowseResult_deleteMembers(&br);
+    UA_BrowseResult_clear(&br);
 
     return retval;
 }
@@ -2195,7 +2195,7 @@ UA_Server_addMethodNodeEx(UA_Server *server, const UA_NodeId requestedNewNodeId,
                                               outputArgumentsOutNewNodeId);
     UA_UNLOCK(server->serviceMutex);
     if(outNewNodeId == &newId)
-        UA_NodeId_deleteMembers(&newId);
+        UA_NodeId_clear(&newId);
     return retval;
 }
 

+ 4 - 4
src/server/ua_services_session.c

@@ -51,7 +51,7 @@ signCreateSessionResponse(UA_Server *server, UA_SecureChannel *channel,
         sign(securityPolicy, channel->channelContext, &dataToSign, &signatureData->signature);
 
     /* Clean up */
-    UA_ByteString_deleteMembers(&dataToSign);
+    UA_ByteString_clear(&dataToSign);
     return retval;
 }
 
@@ -153,7 +153,7 @@ Service_CreateSession(UA_Server *server, UA_SecureChannel *channel,
 
     /* Mirror back the endpointUrl */
     for(size_t i = 0; i < response->serverEndpointsSize; ++i) {
-        UA_String_deleteMembers(&response->serverEndpoints[i].endpointUrl);
+        UA_String_clear(&response->serverEndpoints[i].endpointUrl);
         response->responseHeader.serviceResult |=
             UA_String_copy(&request->endpointUrl,
                            &response->serverEndpoints[i].endpointUrl);
@@ -244,7 +244,7 @@ checkSignature(const UA_Server *server, const UA_SecureChannel *channel,
 
     retval = securityPolicy->certificateSigningAlgorithm.verify(securityPolicy, channel->channelContext, &dataToVerify,
                                                                 &request->clientSignature.signature);
-    UA_ByteString_deleteMembers(&dataToVerify);
+    UA_ByteString_clear(&dataToVerify);
     return retval;
 }
 
@@ -301,7 +301,7 @@ decryptPassword(UA_SecurityPolicy *securityPolicy, void *tempChannelContext,
     retval = UA_STATUSCODE_GOOD;
 
  cleanup:
-    UA_ByteString_deleteMembers(&decryptedTokenSecret);
+    UA_ByteString_clear(&decryptedTokenSecret);
     return retval;
 }
 #endif

+ 12 - 12
src/server/ua_services_view.c

@@ -84,7 +84,7 @@ RefTree_init(RefTree *rt) {
 static void
 RefTree_clear(RefTree *rt) {
     for(size_t i = 0; i < rt->size; i++)
-        UA_ExpandedNodeId_deleteMembers(&rt->targets[i]);
+        UA_ExpandedNodeId_clear(&rt->targets[i]);
     UA_free(rt->targets);
 }
 
@@ -378,8 +378,8 @@ struct ContinuationPoint {
 
 ContinuationPoint *
 ContinuationPoint_clear(ContinuationPoint *cp) {
-    UA_ByteString_deleteMembers(&cp->identifier);
-    UA_BrowseDescription_deleteMembers(&cp->browseDescription);
+    UA_ByteString_clear(&cp->identifier);
+    UA_BrowseDescription_clear(&cp->browseDescription);
     UA_Array_delete(cp->relevantReferences, cp->relevantReferencesSize,
                     &UA_TYPES[UA_TYPES_NODEID]);
     return cp->next;
@@ -408,7 +408,7 @@ addReferenceDescription(UA_Server *server, RefResult *rr, const UA_NodeReference
 
     /* Remote references (ExpandedNodeId) are not further looked up here */
     if(!curr) {
-        UA_ReferenceDescription_deleteMembers(descr);
+        UA_ReferenceDescription_clear(descr);
         return retval;
     }
     
@@ -433,7 +433,7 @@ addReferenceDescription(UA_Server *server, RefResult *rr, const UA_NodeReference
     if(retval == UA_STATUSCODE_GOOD)
         rr->size++; /* Increase the counter */
     else
-        UA_ReferenceDescription_deleteMembers(descr);
+        UA_ReferenceDescription_clear(descr);
     return retval;
 }
 
@@ -697,7 +697,7 @@ Operation_Browse(UA_Server *server, UA_Session *session, const UA_UInt32 *maxref
         ContinuationPoint_clear(cp2);
         UA_free(cp2);
     }
-    UA_BrowseResult_deleteMembers(result);
+    UA_BrowseResult_clear(result);
     result->statusCode = retval;
 }
 
@@ -773,7 +773,7 @@ Operation_BrowseNext(UA_Server *server, UA_Session *session,
         /* Return the cp identifier */
         UA_StatusCode retval = UA_ByteString_copy(&cp->identifier, &result->continuationPoint);
         if(retval != UA_STATUSCODE_GOOD) {
-            UA_BrowseResult_deleteMembers(result);
+            UA_BrowseResult_clear(result);
             result->statusCode = retval;
         }
     }
@@ -936,7 +936,7 @@ addBrowsePathTargets(UA_Server *server, UA_Session *session, UA_UInt32 nodeClass
     for(size_t i = 0; i < currentCount; i++) {
         const UA_Node *node = UA_Nodestore_getNode(server->nsCtx, &current[i]);
         if(!node) {
-            UA_NodeId_deleteMembers(&current[i]);
+            UA_NodeId_clear(&current[i]);
             continue;
         }
 
@@ -952,7 +952,7 @@ addBrowsePathTargets(UA_Server *server, UA_Session *session, UA_UInt32 nodeClass
         UA_Nodestore_releaseNode(server->nsCtx, node);
 
         if(skip) {
-            UA_NodeId_deleteMembers(&current[i]);
+            UA_NodeId_clear(&current[i]);
             continue;
         }
 
@@ -984,7 +984,7 @@ walkBrowsePath(UA_Server *server, UA_Session *session, const UA_BrowsePath *path
 
         /* Clean members of current */
         for(size_t j = 0; j < *currentCount; j++)
-            UA_NodeId_deleteMembers(&(*current)[j]);
+            UA_NodeId_clear(&(*current)[j]);
         *currentCount = 0;
 
         /* When no targets are left or an error occurred. None of next's
@@ -1018,7 +1018,7 @@ walkBrowsePath(UA_Server *server, UA_Session *session, const UA_BrowsePath *path
         if(!newTargets) {
             result->statusCode = UA_STATUSCODE_BADOUTOFMEMORY;
             for(size_t i = 0; i < *currentCount; ++i)
-                UA_NodeId_deleteMembers(&(*current)[i]);
+                UA_NodeId_clear(&(*current)[i]);
             *currentCount = 0;
             return;
         }
@@ -1107,7 +1107,7 @@ Operation_TranslateBrowsePathToNodeIds(UA_Server *server, UA_Session *session,
     UA_free(next);
     if(result->statusCode != UA_STATUSCODE_GOOD) {
         for(size_t i = 0; i < result->targetsSize; ++i)
-            UA_BrowsePathTarget_deleteMembers(&result->targets[i]);
+            UA_BrowsePathTarget_clear(&result->targets[i]);
         UA_free(result->targets);
         result->targets = NULL;
         result->targetsSize = 0;

+ 11 - 11
src/server/ua_subscription.c

@@ -65,7 +65,7 @@ UA_Subscription_deleteMembers(UA_Server *server, UA_Subscription *sub) {
     UA_NotificationMessageEntry *nme, *nme_tmp;
     TAILQ_FOREACH_SAFE(nme, &sub->retransmissionQueue, listEntry, nme_tmp) {
         TAILQ_REMOVE(&sub->retransmissionQueue, nme, listEntry);
-        UA_NotificationMessage_deleteMembers(&nme->message);
+        UA_NotificationMessage_clear(&nme->message);
         UA_free(nme);
         --sub->session->totalRetransmissionQueueSize;
         --sub->retransmissionQueueSize;
@@ -146,7 +146,7 @@ removeOldestRetransmissionMessage(UA_Session *session) {
     UA_assert(oldestSub);
 
     TAILQ_REMOVE(&oldestSub->retransmissionQueue, oldestEntry, listEntry);
-    UA_NotificationMessage_deleteMembers(&oldestEntry->message);
+    UA_NotificationMessage_clear(&oldestEntry->message);
     UA_free(oldestEntry);
     --session->totalRetransmissionQueueSize;
     --oldestSub->retransmissionQueueSize;
@@ -184,7 +184,7 @@ UA_Subscription_removeRetransmissionMessage(UA_Subscription *sub, UA_UInt32 sequ
     TAILQ_REMOVE(&sub->retransmissionQueue, entry, listEntry);
     --sub->session->totalRetransmissionQueueSize;
     --sub->retransmissionQueueSize;
-    UA_NotificationMessage_deleteMembers(&entry->message);
+    UA_NotificationMessage_clear(&entry->message);
     UA_free(entry);
     return UA_STATUSCODE_GOOD;
 }
@@ -207,7 +207,7 @@ prepareNotificationMessage(UA_Server *server, UA_Subscription *sub,
     if(sub->dataChangeNotifications > 0) {
         dcn = UA_DataChangeNotification_new();
         if(!dcn) {
-            UA_NotificationMessage_deleteMembers(message);
+            UA_NotificationMessage_clear(message);
             return UA_STATUSCODE_BADOUTOFMEMORY;
         }
         message->notificationData->encoding = UA_EXTENSIONOBJECT_DECODED;
@@ -220,7 +220,7 @@ prepareNotificationMessage(UA_Server *server, UA_Subscription *sub,
         dcn->monitoredItems = (UA_MonitoredItemNotification*)
             UA_Array_new(dcnSize, &UA_TYPES[UA_TYPES_MONITOREDITEMNOTIFICATION]);
         if(!dcn->monitoredItems) {
-            UA_NotificationMessage_deleteMembers(message);
+            UA_NotificationMessage_clear(message);
             return UA_STATUSCODE_BADOUTOFMEMORY;
         }
         dcn->monitoredItemsSize = dcnSize;
@@ -235,7 +235,7 @@ prepareNotificationMessage(UA_Server *server, UA_Subscription *sub,
     if(sub->statusChangeNotifications > 0) {
         scn = UA_StatusChangeNotification_new();
         if(!scn) {
-            UA_NotificationMessage_deleteMembers(message);
+            UA_NotificationMessage_clear(message);
             return UA_STATUSCODE_BADOUTOFMEMORY;
         }
         message->notificationData[notificationDataIdx].encoding = UA_EXTENSIONOBJECT_DECODED;
@@ -245,7 +245,7 @@ prepareNotificationMessage(UA_Server *server, UA_Subscription *sub,
     } else if(sub->eventNotifications > 0) {
         enl = UA_EventNotificationList_new();
         if(!enl) {
-            UA_NotificationMessage_deleteMembers(message);
+            UA_NotificationMessage_clear(message);
             return UA_STATUSCODE_BADOUTOFMEMORY;
         }
         message->notificationData[notificationDataIdx].encoding = UA_EXTENSIONOBJECT_DECODED;
@@ -257,7 +257,7 @@ prepareNotificationMessage(UA_Server *server, UA_Subscription *sub,
             enlSize = notifications;
         enl->events = (UA_EventFieldList*) UA_Array_new(enlSize, &UA_TYPES[UA_TYPES_EVENTFIELDLIST]);
         if(!enl->events) {
-            UA_NotificationMessage_deleteMembers(message);
+            UA_NotificationMessage_clear(message);
             return UA_STATUSCODE_BADOUTOFMEMORY;
         }
         enl->eventsSize = enlSize;
@@ -513,7 +513,7 @@ UA_Subscription_publish(UA_Server *server, UA_Subscription *sub) {
 
     /* Free the response */
     UA_Array_delete(response->results, response->resultsSize, &UA_TYPES[UA_TYPES_UINT32]);
-    UA_free(pre); /* No need for UA_PublishResponse_deleteMembers */
+    UA_free(pre); /* No need for UA_PublishResponse_clear */
 
     /* Repeat sending responses if there are more notifications to send */
     if(moreNotifications)
@@ -556,7 +556,7 @@ UA_Subscription_reachedPublishReqLimit(UA_Server *server,  UA_Session *session)
 
     /* Free the response */
     UA_Array_delete(response->results, response->resultsSize, &UA_TYPES[UA_TYPES_UINT32]);
-    UA_free(pre); /* no need for UA_PublishResponse_deleteMembers */
+    UA_free(pre); /* no need for UA_PublishResponse_clear */
 
     return true;
 }
@@ -609,7 +609,7 @@ UA_Subscription_answerPublishRequestsNoSubscription(UA_Server *server, UA_Sessio
         response->responseHeader.timestamp = UA_DateTime_now();
         UA_SecureChannel_sendSymmetricMessage(session->header.channel, pre->requestId, UA_MESSAGETYPE_MSG,
                                               response, &UA_TYPES[UA_TYPES_PUBLISHRESPONSE]);
-        UA_PublishResponse_deleteMembers(response);
+        UA_PublishResponse_clear(response);
         UA_free(pre);
     }
 }

+ 9 - 9
src/server/ua_subscription_datachange.c

@@ -114,7 +114,7 @@ detectValueChangeWithFilter(UA_Server *server, UA_Session *session, UA_Monitored
             UA_QualifiedName qn = UA_QUALIFIEDNAME(0, "EURange");
             UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, mon->monitoredNodeId, 1, &qn);
             if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) {
-                  UA_BrowsePathResult_deleteMembers(&bpr);
+                  UA_BrowsePathResult_clear(&bpr);
                   return UA_STATUSCODE_GOOD;
             }
 
@@ -172,7 +172,7 @@ detectValueChangeWithFilter(UA_Server *server, UA_Session *session, UA_Monitored
     }
     if(retval != UA_STATUSCODE_GOOD) {
         if(valueEncoding.data != stackValueEncoding)
-            UA_ByteString_deleteMembers(&valueEncoding);
+            UA_ByteString_clear(&valueEncoding);
         return retval;
     }
 
@@ -184,7 +184,7 @@ detectValueChangeWithFilter(UA_Server *server, UA_Session *session, UA_Monitored
     /* No change */
     if(!(*changed)) {
         if(valueEncoding.data != stackValueEncoding)
-            UA_ByteString_deleteMembers(&valueEncoding);
+            UA_ByteString_clear(&valueEncoding);
         return UA_STATUSCODE_GOOD;
     }
 
@@ -253,7 +253,7 @@ sampleCallbackWithValue(UA_Server *server, UA_Session *session,
         /* Allocate a new notification */
         UA_Notification *newNotification = (UA_Notification *)UA_malloc(sizeof(UA_Notification));
         if(!newNotification) {
-            UA_ByteString_deleteMembers(&binValueEncoding);
+            UA_ByteString_clear(&binValueEncoding);
             return UA_STATUSCODE_BADOUTOFMEMORY;
         }
 
@@ -263,7 +263,7 @@ sampleCallbackWithValue(UA_Server *server, UA_Session *session,
         } else { /* => (value->value.storageType == UA_VARIANT_DATA_NODELETE) */
             retval = UA_DataValue_copy(value, &newNotification->data.value);
             if(retval != UA_STATUSCODE_GOOD) {
-                UA_ByteString_deleteMembers(&binValueEncoding);
+                UA_ByteString_clear(&binValueEncoding);
                 UA_free(newNotification);
                 return retval;
             }
@@ -280,7 +280,7 @@ sampleCallbackWithValue(UA_Server *server, UA_Session *session,
     }
 
     /* Store the encoding for comparison */
-    UA_ByteString_deleteMembers(&mon->lastSampledValue);
+    UA_ByteString_clear(&mon->lastSampledValue);
     mon->lastSampledValue = binValueEncoding;
 
     /* Store the value for filter comparison (we don't want to decode
@@ -293,10 +293,10 @@ sampleCallbackWithValue(UA_Server *server, UA_Session *session,
        (mon->filter.dataChangeFilter.trigger == UA_DATACHANGETRIGGER_STATUS ||
         mon->filter.dataChangeFilter.trigger == UA_DATACHANGETRIGGER_STATUSVALUE ||
         mon->filter.dataChangeFilter.trigger == UA_DATACHANGETRIGGER_STATUSVALUETIMESTAMP)) {
-        UA_Variant_deleteMembers(&mon->lastValue);
+        UA_Variant_clear(&mon->lastValue);
         UA_Variant_copy(&value->value, &mon->lastValue);
 #ifdef UA_ENABLE_DA
-        UA_StatusCode_deleteMembers(&mon->lastStatus);
+        UA_StatusCode_clear(&mon->lastStatus);
         UA_StatusCode_copy(&value->status, &mon->lastStatus);
 #endif
     }
@@ -373,7 +373,7 @@ monitoredItem_sampleCallback(UA_Server *server, UA_MonitoredItem *monitoredItem)
 
     /* Delete the sample if it was not moved to the notification. */
     if(!movedValue)
-        UA_DataValue_deleteMembers(&value); /* Does nothing for UA_VARIANT_DATA_NODELETE */
+        UA_DataValue_clear(&value); /* Does nothing for UA_VARIANT_DATA_NODELETE */
     if(node)
         UA_Nodestore_releaseNode(server->nsCtx, node);
 }

+ 25 - 25
src/server/ua_subscription_events.c

@@ -103,9 +103,9 @@ UA_Server_createEvent(UA_Server *server, const UA_NodeId eventType,
     UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, newNodeId, 1, &name);
     if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) {
         retval = bpr.statusCode;
-        UA_BrowsePathResult_deleteMembers(&bpr);
+        UA_BrowsePathResult_clear(&bpr);
         deleteNode(server, newNodeId, true);
-        UA_NodeId_deleteMembers(&newNodeId);
+        UA_NodeId_clear(&newNodeId);
         UA_UNLOCK(server->serviceMutex);
         return retval;
     }
@@ -115,10 +115,10 @@ UA_Server_createEvent(UA_Server *server, const UA_NodeId eventType,
     UA_Variant_init(&value);
     UA_Variant_setScalar(&value, (void*)(uintptr_t)&eventType, &UA_TYPES[UA_TYPES_NODEID]);
     retval = writeWithWriteValue(server, &bpr.targets[0].targetId.nodeId, UA_ATTRIBUTEID_VALUE, &UA_TYPES[UA_TYPES_VARIANT], &value);
-    UA_BrowsePathResult_deleteMembers(&bpr);
+    UA_BrowsePathResult_clear(&bpr);
     if(retval != UA_STATUSCODE_GOOD) {
         deleteNode(server, newNodeId, true);
-        UA_NodeId_deleteMembers(&newNodeId);
+        UA_NodeId_clear(&newNodeId);
         UA_UNLOCK(server->serviceMutex);
         return retval;
     }
@@ -135,7 +135,7 @@ isValidEvent(UA_Server *server, const UA_NodeId *validEventParent,
     UA_QualifiedName findName = UA_QUALIFIEDNAME(0, "EventType");
     UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, *eventId, 1, &findName);
     if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) {
-        UA_BrowsePathResult_deleteMembers(&bpr);
+        UA_BrowsePathResult_clear(&bpr);
         return false;
     }
     
@@ -148,7 +148,7 @@ isValidEvent(UA_Server *server, const UA_NodeId *validEventParent,
             readWithReadValue(server, &bpr.targets[0].targetId.nodeId, UA_ATTRIBUTEID_VALUE, &tOutVariant);
     if(retval != UA_STATUSCODE_GOOD ||
        !UA_Variant_hasScalarType(&tOutVariant, &UA_TYPES[UA_TYPES_NODEID])) {
-        UA_BrowsePathResult_deleteMembers(&bpr);
+        UA_BrowsePathResult_clear(&bpr);
         return false;
     }
 
@@ -164,8 +164,8 @@ isValidEvent(UA_Server *server, const UA_NodeId *validEventParent,
        isNodeInTree(server->nsCtx, tEventType, &conditionTypeId, &hasSubtypeId, 1)) {
         UA_LOG_ERROR(&server->config.logger, UA_LOGCATEGORY_USERLAND,
                      "Alarms and Conditions are not supported yet!");
-        UA_BrowsePathResult_deleteMembers(&bpr);
-        UA_Variant_deleteMembers(&tOutVariant);
+        UA_BrowsePathResult_clear(&bpr);
+        UA_Variant_clear(&tOutVariant);
         return false;
     }
 
@@ -174,8 +174,8 @@ isValidEvent(UA_Server *server, const UA_NodeId *validEventParent,
     UA_Boolean isSubtypeOfBaseEvent = isNodeInTree(server->nsCtx, tEventType,
                                                    &baseEventTypeId, &hasSubtypeId, 1);
 
-    UA_BrowsePathResult_deleteMembers(&bpr);
-    UA_Variant_deleteMembers(&tOutVariant);
+    UA_BrowsePathResult_clear(&bpr);
+    UA_Variant_clear(&tOutVariant);
     return isSubtypeOfBaseEvent;
 }
 
@@ -210,7 +210,7 @@ resolveSimpleAttributeOperand(UA_Server *server, UA_Session *session, const UA_N
         bpr.statusCode = UA_STATUSCODE_BADNOTFOUND;
     if(bpr.statusCode != UA_STATUSCODE_GOOD) {
         UA_StatusCode retval = bpr.statusCode;
-        UA_BrowsePathResult_deleteMembers(&bpr);
+        UA_BrowsePathResult_clear(&bpr);
         return retval;
     }
 
@@ -221,7 +221,7 @@ resolveSimpleAttributeOperand(UA_Server *server, UA_Session *session, const UA_N
     if(v.status == UA_STATUSCODE_GOOD && v.hasValue)
         *value = v.value;
 
-    UA_BrowsePathResult_deleteMembers(&bpr);
+    UA_BrowsePathResult_clear(&bpr);
     return v.status;
 }
 
@@ -242,7 +242,7 @@ UA_Server_filterEvent(UA_Server *server, UA_Session *session,
         UA_Array_new(filter->selectClausesSize, &UA_TYPES[UA_TYPES_VARIANT]);
     if(!notification->fields.eventFields) {
         /* EventFilterResult currently isn't being used
-        UA_EventFiterResult_deleteMembers(&notification->result); */
+        UA_EventFiterResult_clear(&notification->result); */
         return UA_STATUSCODE_BADOUTOFMEMORY;
     }
     notification->fields.eventFieldsSize = filter->selectClausesSize;
@@ -252,8 +252,8 @@ UA_Server_filterEvent(UA_Server *server, UA_Session *session,
     notification->result.selectClauseResults = (UA_StatusCode *)
         UA_Array_new(filter->selectClausesSize, &UA_TYPES[UA_TYPES_STATUSCODE]);
     if(!notification->result->selectClauseResults) {
-        UA_EventFieldList_deleteMembers(&notification->fields);
-        UA_EventFilterResult_deleteMembers(&notification->result);
+        UA_EventFieldList_clear(&notification->fields);
+        UA_EventFilterResult_clear(&notification->result);
         return UA_STATUSCODE_BADOUTOFMEMORY;
     }
     */
@@ -290,15 +290,15 @@ eventSetStandardFields(UA_Server *server, const UA_NodeId *event,
     UA_BrowsePathResult bpr = browseSimplifiedBrowsePath(server, *event, 1, &name);
     if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) {
         retval = bpr.statusCode;
-        UA_BrowsePathResult_deleteMembers(&bpr);
+        UA_BrowsePathResult_clear(&bpr);
         return retval;
     }
     UA_Variant value;
     UA_Variant_init(&value);
     UA_Variant_setScalarCopy(&value, origin, &UA_TYPES[UA_TYPES_NODEID]);
     retval = writeWithWriteValue(server, &bpr.targets[0].targetId.nodeId, UA_ATTRIBUTEID_VALUE, &UA_TYPES[UA_TYPES_VARIANT], &value);
-    UA_Variant_deleteMembers(&value);
-    UA_BrowsePathResult_deleteMembers(&bpr);
+    UA_Variant_clear(&value);
+    UA_BrowsePathResult_clear(&bpr);
     if(retval != UA_STATUSCODE_GOOD)
         return retval;
 
@@ -307,13 +307,13 @@ eventSetStandardFields(UA_Server *server, const UA_NodeId *event,
     bpr = browseSimplifiedBrowsePath(server, *event, 1, &name);
     if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) {
         retval = bpr.statusCode;
-        UA_BrowsePathResult_deleteMembers(&bpr);
+        UA_BrowsePathResult_clear(&bpr);
         return retval;
     }
     UA_DateTime rcvTime = UA_DateTime_now();
     UA_Variant_setScalar(&value, &rcvTime, &UA_TYPES[UA_TYPES_DATETIME]);
     retval = writeWithWriteValue(server, &bpr.targets[0].targetId.nodeId, UA_ATTRIBUTEID_VALUE, &UA_TYPES[UA_TYPES_VARIANT], &value);
-    UA_BrowsePathResult_deleteMembers(&bpr);
+    UA_BrowsePathResult_clear(&bpr);
     if(retval != UA_STATUSCODE_GOOD)
         return retval;
 
@@ -326,16 +326,16 @@ eventSetStandardFields(UA_Server *server, const UA_NodeId *event,
     bpr = browseSimplifiedBrowsePath(server, *event, 1, &name);
     if(bpr.statusCode != UA_STATUSCODE_GOOD || bpr.targetsSize < 1) {
         retval = bpr.statusCode;
-        UA_ByteString_deleteMembers(&eventId);
-        UA_BrowsePathResult_deleteMembers(&bpr);
+        UA_ByteString_clear(&eventId);
+        UA_BrowsePathResult_clear(&bpr);
         return retval;
     }
     UA_Variant_init(&value);
     UA_Variant_setScalar(&value, &eventId, &UA_TYPES[UA_TYPES_BYTESTRING]);
     retval = writeWithWriteValue(server, &bpr.targets[0].targetId.nodeId, UA_ATTRIBUTEID_VALUE, &UA_TYPES[UA_TYPES_VARIANT], &value);
-    UA_BrowsePathResult_deleteMembers(&bpr);
+    UA_BrowsePathResult_clear(&bpr);
     if(retval != UA_STATUSCODE_GOOD) {
-        UA_ByteString_deleteMembers(&eventId);
+        UA_ByteString_clear(&eventId);
         return retval;
     }
 
@@ -343,7 +343,7 @@ eventSetStandardFields(UA_Server *server, const UA_NodeId *event,
     if(outEventId)
         *outEventId = eventId;
     else
-        UA_ByteString_deleteMembers(&eventId);
+        UA_ByteString_clear(&eventId);
 
     return UA_STATUSCODE_GOOD;
 }

+ 7 - 7
src/server/ua_subscription_monitoreditem.c

@@ -75,7 +75,7 @@ createEventOverflowNotification(UA_Server *server, UA_Subscription *sub,
         UA_Variant_setScalarCopy(overflowNotification->data.event.fields.eventFields,
                                  &simpleOverflowEventType, &UA_TYPES[UA_TYPES_NODEID]);
     if(retval != UA_STATUSCODE_GOOD) {
-        UA_EventFieldList_deleteMembers(&overflowNotification->data.event.fields);
+        UA_EventFieldList_clear(&overflowNotification->data.event.fields);
         UA_free(overflowNotification);
         return retval;
     }
@@ -168,13 +168,13 @@ UA_Notification_delete(UA_Notification *n) {
 #ifdef UA_ENABLE_SUBSCRIPTIONS_EVENTS
     UA_MonitoredItem *mon = n->mon;
     if(mon->attributeId == UA_ATTRIBUTEID_EVENTNOTIFIER) {
-        UA_EventFieldList_deleteMembers(&n->data.event.fields);
+        UA_EventFieldList_clear(&n->data.event.fields);
         /* EventFilterResult currently isn't being used
          * UA_EventFilterResult_delete(notification->data.event->result); */
     } else
 #endif
     {
-        UA_DataValue_deleteMembers(&n->data.value);
+        UA_DataValue_clear(&n->data.value);
     }
     UA_free(n);
 }
@@ -247,10 +247,10 @@ UA_MonitoredItem_delete(UA_Server *server, UA_MonitoredItem *monitoredItem) {
     /* Remove the monitored item */
     if(monitoredItem->listEntry.le_prev != NULL)
         LIST_REMOVE(monitoredItem, listEntry);
-    UA_String_deleteMembers(&monitoredItem->indexRange);
-    UA_ByteString_deleteMembers(&monitoredItem->lastSampledValue);
-    UA_Variant_deleteMembers(&monitoredItem->lastValue);
-    UA_NodeId_deleteMembers(&monitoredItem->monitoredNodeId);
+    UA_String_clear(&monitoredItem->indexRange);
+    UA_ByteString_clear(&monitoredItem->lastSampledValue);
+    UA_Variant_clear(&monitoredItem->lastValue);
+    UA_NodeId_clear(&monitoredItem->monitoredNodeId);
 
     /* No actual callback, just remove the structure */
     monitoredItem->delayedFreePointers.callback = NULL;