X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib%2Flist.c;h=8edcec2b52e45274bc15d99ecee805cddc86144b;hp=207e336859a0112e37c7674137af4205448269dc;hb=801673291bea7eb323063711349a820f6ea34bff;hpb=8e037c67a88cb4680c4391134c578e3b55a80f8a diff --git a/lib/list.c b/lib/list.c index 207e336..8edcec2 100644 --- a/lib/list.c +++ b/lib/list.c @@ -11,14 +11,13 @@ #include #include +#include #include "list.h" -#include "mem.h" -#include "str.h" list2_t* list_new (void) { - return (mem_calloc (1, sizeof (list2_t))); + return p_new(list2_t, 1); } void list_del (list2_t** l, list_del_t* del) { @@ -35,14 +34,14 @@ void list_del (list2_t** l, list_del_t* del) { void list_push_back (list2_t** l, void* p) { if (!*l) *l = list_new (); - mem_realloc (&(*l)->data, (++(*l)->length)*sizeof(void*)); + p_realloc(&(*l)->data, ++(*l)->length); (*l)->data[(*l)->length-1] = p; } void list_push_front (list2_t** l, void* p) { if (!*l) *l = list_new (); - mem_realloc (&(*l)->data, (++(*l)->length)*sizeof(void*)); + p_realloc(&(*l)->data, ++(*l)->length); if ((*l)->length > 1) memmove (&(*l)->data[1], &(*l)->data[0], ((*l)->length-1)*sizeof(void*)); (*l)->data[0] = p; @@ -53,7 +52,7 @@ void* list_pop_back (list2_t* l) { if (list_empty(l)) return (NULL); p = l->data[l->length-1]; - mem_realloc (&l->data, --(l->length)*sizeof(void*)); + p_realloc(&l->data, --(l->length)); return (p); } @@ -63,7 +62,7 @@ void* list_pop_front (list2_t* l) { return (NULL); p = l->data[0]; memmove (&l->data[0], &l->data[1], (--(l->length))*sizeof(void*)); - mem_realloc (&l->data, l->length*sizeof(void*)); + p_realloc(&l->data, l->length); return (p); } @@ -75,7 +74,7 @@ void* list_pop_idx (list2_t* l, int c) { return (list_pop_back (l)); p = l->data[c]; memmove (&l->data[c], &l->data[c+1], (l->length-c)*sizeof(void*)); - mem_realloc (&l->data, (--(l->length))*sizeof(void*)); + p_realloc(&l->data, --(l->length)); return (p); } @@ -119,9 +118,9 @@ list2_t* list_from_str (const char* str, const char* delim) { if (!str || !*str || !delim || !*delim) return (NULL); - tmp = str_dup (str); + tmp = m_strdup(str); for (p = strtok (tmp, delim); p; p = strtok (NULL, delim)) { - list_push_back (&ret, str_dup (p)); + list_push_back (&ret, m_strdup(p)); } p_delete(&tmp); return (ret);