xref: /freebsd/lib/libc/stdlib/remque.c (revision e768c1be41aefcb7cf8fb19b12cf21d523dc4cdf)
1e768c1beSRobert Drehmel /*
2e768c1beSRobert Drehmel  * Initial implementation:
3e768c1beSRobert Drehmel  * Copyright (c) 2002 Robert Drehmel
4e768c1beSRobert Drehmel  * All rights reserved.
5e768c1beSRobert Drehmel  *
6e768c1beSRobert Drehmel  * As long as the above copyright statement and this notice remain
7e768c1beSRobert Drehmel  * unchanged, you can do what ever you want with this file.
8e768c1beSRobert Drehmel  *
9e768c1beSRobert Drehmel  * $FreeBSD$
10e768c1beSRobert Drehmel  */
11e768c1beSRobert Drehmel #include <sys/cdefs.h>
12e768c1beSRobert Drehmel __FBSDID("$FreeBSD$");
13e768c1beSRobert Drehmel 
14e768c1beSRobert Drehmel #define	_SEARCH_PRIVATE
15e768c1beSRobert Drehmel #include <search.h>
16e768c1beSRobert Drehmel #include <stdlib.h>	/* for NULL */
17e768c1beSRobert Drehmel 
18e768c1beSRobert Drehmel void remque(void *element)
19e768c1beSRobert Drehmel {
20e768c1beSRobert Drehmel 	struct que_elem *prev, *next, *elem;
21e768c1beSRobert Drehmel 
22e768c1beSRobert Drehmel 	elem = (struct que_elem *)element;
23e768c1beSRobert Drehmel 
24e768c1beSRobert Drehmel 	prev = elem->prev;
25e768c1beSRobert Drehmel 	next = elem->next;
26e768c1beSRobert Drehmel 
27e768c1beSRobert Drehmel 	if (prev != NULL)
28e768c1beSRobert Drehmel 		prev->next = next;
29e768c1beSRobert Drehmel 	if (next != NULL)
30e768c1beSRobert Drehmel 		next->prev = prev;
31e768c1beSRobert Drehmel }
32