Lines Matching refs:rootp
29 node_t **rootp = (node_t **)vrootp; local
31 if (rootp == NULL)
34 while (*rootp != NULL) { /* Knuth's T1: */
37 if ((r = (*compar)(vkey, (*rootp)->key)) == 0) /* T2: */
38 return *rootp; /* we found it! */
40 rootp = (r < 0) ?
41 &(*rootp)->llink : /* T3: follow left branch */
42 &(*rootp)->rlink; /* T4: follow right branch */
47 *rootp = q; /* link new node to old */
62 node_t **rootp = (node_t **)vrootp; local
64 if (rootp == NULL)
67 while (*rootp != NULL) { /* T1: */
70 if ((r = (*compar)(vkey, (*rootp)->key)) == 0) /* T2: */
71 return *rootp; /* key found */
72 rootp = (r < 0) ?
73 &(*rootp)->llink : /* T3: follow left branch */
74 &(*rootp)->rlink; /* T4: follow right branch */
90 node_t **rootp = (node_t **)vrootp; in tdelete() local
94 if (rootp == NULL || (p = *rootp) == NULL) in tdelete()
97 while ((cmp = (*compar)(vkey, (*rootp)->key)) != 0) { in tdelete()
98 p = *rootp; in tdelete()
99 rootp = (cmp < 0) ? in tdelete()
100 &(*rootp)->llink : /* follow llink branch */ in tdelete()
101 &(*rootp)->rlink; /* follow rlink branch */ in tdelete()
102 if (*rootp == NULL) in tdelete()
105 r = (*rootp)->rlink; /* D1: */ in tdelete()
106 if ((q = (*rootp)->llink) == NULL) /* Left NULL? */ in tdelete()
116 q->llink = (*rootp)->llink; in tdelete()
117 q->rlink = (*rootp)->rlink; in tdelete()
120 free(*rootp); /* D4: Free node */ in tdelete()
121 *rootp = q; /* link parent to new node */ in tdelete()