Made CVS ignore several generated files.
[crack-attack.git] / enet / list.c
blob1a4aa3ae7218088ad7505a9063fcada25611ff42
1 /**
2 @file list.c
3 @brief ENet linked list functions
4 */
5 #define ENET_BUILDING_LIB 1
6 #include "enet/list.h"
8 /**
9 @defgroup list ENet linked list utility functions
10 @ingroup private
13 void
14 enet_list_clear (ENetList * list)
16 list -> sentinel.next = & list -> sentinel;
17 list -> sentinel.previous = & list -> sentinel;
20 ENetListIterator
21 enet_list_insert (ENetListIterator position, void * data)
23 ENetListIterator result = (ENetListIterator) data;
25 result -> previous = position -> previous;
26 result -> next = position;
28 result -> previous -> next = result;
29 position -> previous = result;
31 return result;
34 void *
35 enet_list_remove (ENetListIterator position)
37 position -> previous -> next = position -> next;
38 position -> next -> previous = position -> previous;
40 return position;
43 size_t
44 enet_list_size (ENetList * list)
46 size_t size = 0;
47 ENetListIterator position;
49 for (position = enet_list_begin (list);
50 position != enet_list_end (list);
51 position = enet_list_next (position))
52 ++ size;
54 return size;
57 /** @} */