Lines Matching refs:rootp
63 NODE **rootp = (NODE **)rtp; in tsearch() local
66 if (rootp == NULL) in tsearch()
68 while (*rootp != NULL) { /* T1: */ in tsearch()
69 int r = (*compar)(key, (*rootp)->key); /* T2: */ in tsearch()
71 return ((void *)*rootp); /* Key found */ in tsearch()
72 rootp = (r < 0) ? in tsearch()
73 &(*rootp)->llink : /* T3: Take left branch */ in tsearch()
74 &(*rootp)->rlink; /* T4: Take right branch */ in tsearch()
78 *rootp = q; /* Link new node to old */ in tsearch()
90 NODE **rootp = (NODE **)rtp; in tdelete() local
96 if (rootp == NULL || (p = *rootp) == NULL) in tdelete()
98 while ((ans = (*compar)(key, (*rootp)->key)) != 0) { in tdelete()
99 p = *rootp; in tdelete()
100 rootp = (ans < 0) ? in tdelete()
101 &(*rootp)->llink : /* Take left branch */ in tdelete()
102 &(*rootp)->rlink; /* Take right branch */ in tdelete()
103 if (*rootp == NULL) in tdelete()
106 r = (*rootp)->rlink; /* D1: */ in tdelete()
107 if ((q = (*rootp)->llink) == NULL) /* Llink NULL? */ in tdelete()
117 q->llink = (*rootp)->llink; in tdelete()
118 q->rlink = (*rootp)->rlink; in tdelete()
121 lfree(*rootp, sizeof (NODE)); /* D4: Free node */ in tdelete()
122 *rootp = q; /* Link parent to replacement */ in tdelete()