#include #include #include "unarchive.h" #include "libbb.h" #ifdef L_llist_add_to extern llist_t *llist_add_to(llist_t *old_head, char *new_item) { llist_t *new_head; new_head = xmalloc(sizeof(llist_t)); new_head->data = new_item; new_head->link = old_head; return (new_head); } #endif #ifdef L_llist_add_to_end extern llist_t *llist_add_to_end(llist_t *list_head, char *data) { llist_t *new_item, *tmp, *prev; new_item = xmalloc(sizeof(llist_t)); new_item->data = data; new_item->link = NULL; prev = NULL; tmp = list_head; while (tmp) { prev = tmp; tmp = tmp->link; } if (prev) { prev->link = new_item; } else { list_head = new_item; } return (list_head); } #endif