X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Flist.c;h=c2c4f77cd36efd722c5d934dce8336006ac65405;hp=74c60c7ca1447353bc0e3d9ace3d780d4dcc7e34;hb=9f1dbdb74d7ca296eaa5fcf45243f7e376d35eab;hpb=9342efc81d163ea56e079b4adf2ce17c41c853b0 diff --git a/lib-lib/list.c b/lib-lib/list.c index 74c60c7..c2c4f77 100644 --- a/lib-lib/list.c +++ b/lib-lib/list.c @@ -22,40 +22,32 @@ * Copyright (C) 1996-2000 Michael R. Elkins */ -#include -#include +#include "lib-lib.h" -#include "mem.h" -#include "str.h" -#include "list.h" - -LIST *mutt_copy_list(LIST *p) { - LIST *t, *r = NULL, *l = NULL; +string_list_t *string_list_dup(const string_list_t *p) { + string_list_t *res = NULL; + string_list_t **last = &res; for (; p; p = p->next) { - t = p_new(LIST, 1); - t->data = m_strdup(p->data); - t->next = NULL; - if (l) { - r->next = t; - r = r->next; - } else { - l = r = t; - } + *last = string_item_new(); + (*last)->data = m_strdup(p->data); + last = &(*last)->next; } - return l; + + return res; } -LIST *mutt_add_list_n(LIST *head, const void *data, size_t len) { - LIST *tmp; +/* FIXME: b0rken API's, replace that at any cost */ +string_list_t *mutt_add_list_n(string_list_t *head, const void *data, size_t len) { + string_list_t *tmp; for (tmp = head; tmp && tmp->next; tmp = tmp->next); if (tmp) { - tmp->next = p_new(LIST, 1); + tmp->next = p_new(string_list_t, 1); tmp = tmp->next; } else { - head = tmp = p_new(LIST, 1); + head = tmp = p_new(string_list_t, 1); } tmp->data = p_dup((const char *)data, len); @@ -63,15 +55,3 @@ LIST *mutt_add_list_n(LIST *head, const void *data, size_t len) { return head; } -void mutt_free_list(LIST **list) { - LIST *p; - - if (list) { - while (*list) { - p = *list; - *list = (*list)->next; - p_delete(&p->data); - p_delete(&p); - } - } -}