Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/enet-1.1/list.c @ 18

Last change on this file since 18 was 13, checked in by landauf, 17 years ago

added enet

File size: 1.1 KB
Line 
1/**
2 @file list.c
3 @brief ENet linked list functions
4*/
5#define ENET_BUILDING_LIB 1
6#include "enet/list.h"
7
8/**
9    @defgroup list ENet linked list utility functions
10    @ingroup private
11    @{
12*/
13void
14enet_list_clear (ENetList * list)
15{
16   list -> sentinel.next = & list -> sentinel;
17   list -> sentinel.previous = & list -> sentinel;
18}
19
20ENetListIterator
21enet_list_insert (ENetListIterator position, void * data)
22{
23   ENetListIterator result = (ENetListIterator) data;
24
25   result -> previous = position -> previous;
26   result -> next = position;
27
28   result -> previous -> next = result;
29   position -> previous = result;
30
31   return result;
32}
33
34void *
35enet_list_remove (ENetListIterator position)
36{
37   position -> previous -> next = position -> next;
38   position -> next -> previous = position -> previous;
39
40   return position;
41}
42
43size_t
44enet_list_size (ENetList * list)
45{
46   size_t size = 0;
47   ENetListIterator position;
48
49   for (position = enet_list_begin (list);
50        position != enet_list_end (list);
51        position = enet_list_next (position))
52     ++ size;
53   
54   return size;
55}
56
57/** @} */
Note: See TracBrowser for help on using the repository browser.