Lines Matching refs:node
32 Node* node = (Node*)malloc(sizeof(Node));
33 node->refCount = 0;
34 node->nodeType = "Node";
35 node->childNodesTail = NULL;
37 return node;
40 void Node_appendChild(Node* node, Node* child)
44 nodeLink->node = child;
45 nodeLink->prev = node->childNodesTail;
46 node->childNodesTail = nodeLink;
49 void Node_removeChild(Node* node, Node* child)
54 for (currentHandle = &node->childNodesTail, current = *currentHandle; current; currentHandle = ¤t->prev, current = *currentHandle) {
55 if (current->node == child) {
56 Node_deref(current->node);
64 void Node_replaceChild(Node* node, Node* newChild, Node* oldChild)
68 for (current = node->childNodesTail; current; current = current->prev) {
69 if (current->node == oldChild) {
70 Node_deref(current->node);
71 current->node = newChild;
76 void Node_ref(Node* node)
78 ++node->refCount;
81 void Node_deref(Node* node)
83 if (--node->refCount == 0)
84 free(node);