diff options
Diffstat (limited to 'rushs/evalexpr/fifo/fifo_access.c')
| -rw-r--r-- | rushs/evalexpr/fifo/fifo_access.c | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/rushs/evalexpr/fifo/fifo_access.c b/rushs/evalexpr/fifo/fifo_access.c deleted file mode 100644 index 5d31586..0000000 --- a/rushs/evalexpr/fifo/fifo_access.c +++ /dev/null @@ -1,66 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#include "fifo.h" - -size_t fifo_size(struct fifo *fifo) -{ - return fifo->size; -} - -void fifo_push(struct fifo *fifo, int elt) -{ - struct list *new = malloc(sizeof(struct list)); - if (new == NULL) - { - return; - } - new->data = elt; - - if (fifo_size(fifo) == 0) - { - fifo->head = new; - } - new->next = NULL; - if (fifo_size(fifo) != 0) - { - fifo->tail->next = new; - } - fifo->tail = new; - - fifo->size++; -} - -int fifo_head(struct fifo *fifo) -{ - return fifo->head->data; -} - -void fifo_pop(struct fifo *fifo) -{ - if (fifo_size(fifo) == 0) - { - return; - } - if (fifo_size(fifo) == 1) - { - free(fifo->head); - fifo->head = NULL; - fifo->tail = NULL; - return; - } - - struct list *tmp = fifo->head->next; - free(fifo->head); - fifo->head = tmp; - - fifo->size--; -} - -void fifo_print(const struct fifo *fifo) -{ - for (struct list *l = fifo->head; l; l = l->next) - { - printf("%d\n", l->data); - } -} |
