Lines Matching refs:parent
73 /* Link a trie node to its parent
75 static void trie_node_link(apr_pool_t *p, filter_trie_node *parent,
80 if (parent->nchildren == parent->size) {
82 parent->size *= 2;
83 new = (filter_trie_child_ptr *)apr_palloc(p, parent->size *
85 memcpy(new, parent->children, parent->nchildren *
87 parent->children = new;
90 for (i = 0; i < parent->nchildren; i++) {
91 if (c == parent->children[i].c) {
94 else if (c < parent->children[i].c) {
98 for (j = parent->nchildren; j > i; j--) {
99 parent->children[j].c = parent->children[j - 1].c;
100 parent->children[j].child = parent->children[j - 1].child;
102 parent->children[i].c = c;
103 parent->children[i].child = child;
105 parent->nchildren++;
109 * If parent is non-NULL, link the new node under the parent node with
113 filter_trie_node *parent, char c)
116 if (parent) {
118 for (i = 0; i < parent->nchildren; i++) {
119 if (c == parent->children[i].c) {
120 return parent->children[i].child;
122 else if (c < parent->children[i].c) {
128 trie_node_link(p, parent, new_node, c);
130 else { /* No parent node */