• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/avl-0.3.5/

Lines Matching defs:newnode

224 static void avl_clear_node(avl_node_t *newnode) {
225 newnode->left = newnode->right = NULL;
227 newnode->count = 1;
230 newnode->depth = 1;
234 avl_node_t *avl_init_node(avl_node_t *newnode, void *item) {
235 if(newnode) {
236 /* avl_clear_node(newnode); */
237 newnode->item = item;
239 return newnode;
242 avl_node_t *avl_insert_top(avl_tree_t *avltree, avl_node_t *newnode) {
243 avl_clear_node(newnode);
244 newnode->prev = newnode->next = newnode->parent = NULL;
245 avltree->head = avltree->tail = avltree->top = newnode;
246 return newnode;
249 avl_node_t *avl_insert_before(avl_tree_t *avltree, avl_node_t *node, avl_node_t *newnode) {
252 ? avl_insert_after(avltree, avltree->tail, newnode)
253 : avl_insert_top(avltree, newnode);
256 return avl_insert_after(avltree, node->prev, newnode);
258 avl_clear_node(newnode);
260 newnode->next = node;
261 newnode->parent = node;
263 newnode->prev = node->prev;
265 node->prev->next = newnode;
267 avltree->head = newnode;
268 node->prev = newnode;
270 node->left = newnode;
272 return newnode;
275 avl_node_t *avl_insert_after(avl_tree_t *avltree, avl_node_t *node, avl_node_t *newnode) {
278 ? avl_insert_before(avltree, avltree->head, newnode)
279 : avl_insert_top(avltree, newnode);
282 return avl_insert_before(avltree, node->next, newnode);
284 avl_clear_node(newnode);
286 newnode->prev = node;
287 newnode->parent = node;
289 newnode->next = node->next;
291 node->next->prev = newnode;
293 avltree->tail = newnode;
294 node->next = newnode;
296 node->right = newnode;
298 return newnode;
301 avl_node_t *avl_insert_node(avl_tree_t *avltree, avl_node_t *newnode) {
305 return avl_insert_top(avltree, newnode);
307 switch(avl_search_closest(avltree, newnode->item, &node)) {
309 return avl_insert_before(avltree, node, newnode);
311 return avl_insert_after(avltree, node, newnode);
323 avl_node_t *newnode;
325 newnode = avl_init_node(malloc(sizeof(avl_node_t)), item);
326 if(newnode) {
327 if(avl_insert_node(avltree, newnode))
328 return newnode;
329 free(newnode);
411 avl_node_t *avl_fixup_node(avl_tree_t *avltree, avl_node_t *newnode) {
414 if(!avltree || !newnode)
417 node = newnode->prev;
420 node->next = newnode;
422 avltree->head = newnode;
425 node = newnode->next;
428 node->prev = newnode;
430 avltree->tail = newnode;
433 node = newnode->parent;
436 node->left = newnode;
438 node->right = newnode;
441 avltree->top = newnode;