7.8.8 Backing Up to the Previous Node |
278. <TBST traverser back up function 278> = void *
tbst_t_prev (struct tbst_traverser *trav)
{ assert (trav != NULL); if (trav->tbst_node == NULL) return tbst_t_last (trav, trav->tbst_table); else if (trav->tbst_node->tbst_tag[0] == TBST_THREAD)
{ trav->tbst_node = trav->tbst_node->tbst_link[0]; return trav->tbst_node != NULL ? trav->tbst_node->tbst_data : NULL; }
else
{ trav->tbst_node = trav->tbst_node->tbst_link[0]; while (trav->tbst_node->tbst_tag[1] == TBST_CHILD) trav->tbst_node = trav->tbst_node->tbst_link[1]; return trav->tbst_node->tbst_data; } }
This code is included in 270.