#include #include "fifo.h" struct fifo *fifo_init(void) { struct fifo *f = malloc(sizeof(struct fifo)); if (f == NULL) { return NULL; } f->size = 0; f->head = NULL; f->tail = NULL; return f; } void fifo_clear(struct fifo *fifo) { for (struct list *l = fifo->head; l != fifo->tail;) { struct list *tmp = l->next; free(l); l = tmp; } free(fifo->tail); fifo->head = NULL; fifo->tail = NULL; fifo->size = 0; } void fifo_destroy(struct fifo *fifo) { fifo_clear(fifo); free(fifo); }