/* * list.c * * Created on: Jul 27, 2016 * Author: tkl */ #include "stddef.h" #include "list.h" int list_init(struct list *head) { if(NULL == head) return -1; head->front = NULL; head->rear = NULL; return 0; } int list_add(struct list *head, struct list_node *node) { if((NULL == head) || (NULL == node)) return -1; if(head->front == NULL) { head->front = node; head->rear = node; } else { head->rear->next = node; head->rear = node; } return 1; } int list_get_len(struct list *head) { int ret = 0; if(NULL == head) return -1; struct list_node *it = head->front; while(NULL != it) { ret++; it = it->next; } return ret; }