# HG changeset patch # User Rob Landley # Date 1200872093 21600 # Node ID 630b2e12db166cd51e692dbcd740b400dbd88fcd # Parent 7cb15eae1664e5e0ea551c32551954c6e4bec1f9 Move dlist_add() to lib/llist.c diff -r 7cb15eae1664 -r 630b2e12db16 lib/lib.h --- a/lib/lib.h Sun Jan 20 17:25:44 2008 -0600 +++ b/lib/lib.h Sun Jan 20 17:34:53 2008 -0600 @@ -8,8 +8,6 @@ ssize_t getline(char **lineptr, size_t *n, FILE *stream); // llist.c -void llist_free(void *list, void (*freeit)(void *data)); -void *llist_pop(void *list); // actually void **list, but the compiler's dumb struct string_list { struct string_list *next; @@ -27,6 +25,10 @@ char *data; }; +void llist_free(void *list, void (*freeit)(void *data)); +void *llist_pop(void *list); // actually void **list, but the compiler's dumb +void dlist_add(struct double_list **list, char *data); + // args.c void get_optflags(void); diff -r 7cb15eae1664 -r 630b2e12db16 lib/llist.c --- a/lib/llist.c Sun Jan 20 17:25:44 2008 -0600 +++ b/lib/llist.c Sun Jan 20 17:34:53 2008 -0600 @@ -30,3 +30,17 @@ return (void *)next; } + +// Add an entry to the end off a doubly linked list +void dlist_add(struct double_list **list, char *data) +{ + struct double_list *line = xmalloc(sizeof(struct double_list)); + + line->data = data; + if (*list) { + line->next = *list; + line->prev = (*list)->prev; + (*list)->prev->next = line; + (*list)->prev = line; + } else *list = line->next = line->prev = line; +} diff -r 7cb15eae1664 -r 630b2e12db16 toys/patch.c --- a/toys/patch.c Sun Jan 20 17:25:44 2008 -0600 +++ b/toys/patch.c Sun Jan 20 17:34:53 2008 -0600 @@ -70,20 +70,6 @@ free(dlist->data); } - -static void dlist_add(struct double_list **list, char *data) -{ - struct double_list *line = xmalloc(sizeof(struct double_list)); - - line->data = data; - if (*list) { - line->next = *list; - line->prev = (*list)->prev; - (*list)->prev->next = line; - (*list)->prev = line; - } else *list = line->next = line->prev = line; -} - static void finish_oldfile(void) { if (TT.tempname) replace_tempfile(TT.filein, TT.fileout, &TT.tempname);