#include <string.h>
#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
#include "list.h"
-#include "mem.h"
-#include "str.h"
list2_t* list_new (void) {
return p_new(list2_t, 1);
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;
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);
}
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);
}
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);
}
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);