125 for(l = *list; l->next != NULL; l = l->next);
149 ((
struct list *)item)->next = NULL;
171 ((
struct list *)item)->next = *list;
192 if(((
struct list *)*list)->next == NULL) {
198 for(l = *list; l->next->next != NULL; l = l->next);
222 *list = ((
struct list *)*list)->next;
248 for(l = *list; l != NULL; l = l->next) {
279 for(l = *list; l != NULL; l = l->next) {
304 if(previtem == NULL) {
308 ((
struct list *)newitem)->next = ((
struct list *)previtem)->next;
309 ((
struct list *)previtem)->next = newitem;
326 return item == NULL? NULL: ((
struct list *)item)->next;
void list_push(list_t list, void *item)
void list_copy(list_t dest, list_t src)
void list_insert(list_t list, void *previtem, void *newitem)
Insert an item after a specified item on the list.
void * list_tail(list_t list)
void * list_chop(list_t list)
void * list_head(list_t list)
void list_add(list_t list, void *item)
void list_init(list_t list)
void * list_pop(list_t list)
void list_remove(list_t list, void *item)
void * list_item_next(void *item)
Get the next item following this item.
int list_length(list_t list)