Browse Source

bugfix in node handling

Julius Pfrommer 10 years ago
parent
commit
b6b40692b4
3 changed files with 9 additions and 33 deletions
  1. 3 3
      src/server/ua_nodes.c
  2. 6 6
      src/server/ua_server.c
  3. 0 24
      src/server/ua_server_addressspace.c

+ 3 - 3
src/server/ua_nodes.c

@@ -19,7 +19,7 @@ static void UA_Node_deleteMembers(UA_Node *p) {
 	UA_QualifiedName_deleteMembers(&p->browseName);
 	UA_LocalizedText_deleteMembers(&p->displayName);
 	UA_LocalizedText_deleteMembers(&p->description);
-	UA_Array_delete((void*)p->references, p->referencesSize, &UA_TYPES[UA_TYPES_REFERENCENODE]);
+	UA_Array_delete(p->references, p->referencesSize, &UA_TYPES[UA_TYPES_REFERENCENODE]);
 }
 
 static UA_StatusCode UA_Node_copy(const UA_Node *src, UA_Node *dst) {
@@ -118,7 +118,7 @@ UA_VariableNode * UA_VariableNode_new(void) {
 void UA_VariableNode_deleteMembers(UA_VariableNode *p) {
     UA_Node_deleteMembers((UA_Node*)p);
     UA_Variant_deleteMembers(&p->value);
-    UA_Array_delete(&p->arrayDimensions, p->arrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]);
+    UA_Array_delete(p->arrayDimensions, p->arrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]);
     p->arrayDimensionsSize = -1;
 }
 
@@ -173,7 +173,7 @@ UA_VariableTypeNode * UA_VariableTypeNode_new(void) {
 void UA_VariableTypeNode_deleteMembers(UA_VariableTypeNode *p) {
     UA_Node_deleteMembers((UA_Node*)p);
     UA_Variant_deleteMembers(&p->value);
-    UA_Array_delete(&p->arrayDimensions, p->arrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]);
+    UA_Array_delete(p->arrayDimensions, p->arrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]);
     p->arrayDimensionsSize = -1;
 }
 

+ 6 - 6
src/server/ua_server.c

@@ -480,12 +480,12 @@ UA_Server * UA_Server_new(void) {
                           &((UA_String *)(namespaceArray->value.storage.data.dataPtr))[0]);
     UA_String_copycstring("urn:myServer:myApplication",
                           &((UA_String *)(namespaceArray->value.storage.data.dataPtr))[1]);
-    /* UA_UInt32 *dimensions = UA_malloc(sizeof(UA_UInt32)); */
-    /* if(dimensions) { */
-    /*     *dimensions = 2; */
-    /*     namespaceArray->arrayDimensions = dimensions; */
-    /*     namespaceArray->arrayDimensionsSize = 1; */
-    /* } */
+    UA_UInt32 *dimensions = UA_malloc(sizeof(UA_UInt32));
+    if(dimensions) {
+        *dimensions = 2;
+        namespaceArray->arrayDimensions = dimensions;
+        namespaceArray->arrayDimensionsSize = 1;
+    }
     namespaceArray->dataType.identifier.numeric = UA_TYPES_IDS[UA_TYPES_STRING];
     namespaceArray->valueRank = 1;
     namespaceArray->minimumSamplingInterval = 1.0;

+ 0 - 24
src/server/ua_server_addressspace.c

@@ -1,30 +1,6 @@
 #include "ua_server.h"
 #include "ua_server_internal.h"
 
-/* static const UA_TypeVTable * UA_Node_getTypeVT(const UA_Node *node) { */
-/*     switch(node->nodeClass) { */
-/*     case UA_NODECLASS_OBJECT: */
-/*         return &UA_TYPES[UA_OBJECTNODE]; */
-/*     case UA_NODECLASS_VARIABLE: */
-/*         return &UA_TYPES[UA_VARIABLENODE]; */
-/*     case UA_NODECLASS_METHOD: */
-/*         return &UA_TYPES[UA_METHODNODE]; */
-/*     case UA_NODECLASS_OBJECTTYPE: */
-/*         return &UA_TYPES[UA_OBJECTTYPENODE]; */
-/*     case UA_NODECLASS_VARIABLETYPE: */
-/*         return &UA_TYPES[UA_VARIABLETYPENODE]; */
-/*     case UA_NODECLASS_REFERENCETYPE: */
-/*         return &UA_TYPES[UA_REFERENCETYPENODE]; */
-/*     case UA_NODECLASS_DATATYPE: */
-/*         return &UA_TYPES[UA_DATATYPENODE]; */
-/*     case UA_NODECLASS_VIEW: */
-/*         return &UA_TYPES[UA_VIEWNODE]; */
-/*     default: break; */
-/*     } */
-
-/*     return &UA_TYPES[UA_INVALIDTYPE]; */
-/* } */
-
 UA_StatusCode UA_Server_addScalarVariableNode(UA_Server *server, UA_QualifiedName *browseName,
                                               void *value, const UA_NodeId typeId,
                                               const UA_ExpandedNodeId *parentNodeId,