-
-static void *
-ldap_int_thread_enlist( ldap_int_thread_list_t *list, void *elem )
-{
- ldap_int_thread_list_element_t *prev;
-
- if (elem == NULL) return(NULL);
-
- ((ldap_int_thread_list_element_t *)elem)->next = NULL;
- if (*list == NULL) {
- *list = elem;
- return(elem);
- }
-
- for (prev = *list ; prev->next != NULL; prev = prev->next) ;
- prev->next = elem;
- return(elem);
-}
-
-static void *
-ldap_int_thread_delist( ldap_int_thread_list_t *list, void *elem )
-{
- ldap_int_thread_list_element_t *prev;
-
- if (*list == NULL) return(NULL);
-
- if (elem == NULL) elem = *list;
-
- if (*list == elem) {
- *list = ((ldap_int_thread_list_element_t *)elem)->next;
- return(elem);
- }
-
- for (prev = *list ; prev->next != NULL; prev = prev->next) {
- if (prev->next == elem) {
- prev->next = ((ldap_int_thread_list_element_t *)elem)->next;
- return(elem);
- }
- }
- return(NULL);
-}
-
-static void *
-ldap_int_thread_onlist( ldap_int_thread_list_t *list, void *elem )
-{
- ldap_int_thread_list_element_t *prev;
-
- if (elem == NULL || *list == NULL) return(NULL);
-
- for (prev = *list ; prev != NULL; prev = prev->next) {
- if (prev == elem)
- return(elem);
- }
-
- return(NULL);
-}
-