X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Flist.c;h=0d5b02e6d18d46d41b2d8b875c519f0f593bae19;hb=47415d6ef7b12572e99b59d18dc63e053fdb4f16;hp=76a37e69db962875f21e44d8a6a06f5856023a98;hpb=cacd81cd1065cf9a145bb2fbe66c383ad3c90206;p=ppastats.git diff --git a/src/list.c b/src/list.c index 76a37e6..0d5b02e 100644 --- a/src/list.c +++ b/src/list.c @@ -1,33 +1,36 @@ /* - Copyright (C) 2011 jeanfi@gmail.com - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301 USA + Copyright (C) 2011-2014 jeanfi@gmail.com + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA */ #include #include -#include "list.h" +#include int list_length(void **list) { int n; + if (!list) + return 0; + n = 0; - while (list && *list) { + while (*list) { list++; n++; } @@ -44,10 +47,8 @@ void **list_add(void **list, void *new_item) new_list = malloc(sizeof(void *)*(n+2)); - if (n) { + if (n) memcpy(new_list, list, sizeof(void *)*n); - free(list); - } new_list[n] = new_item; new_list[n+1] = NULL; @@ -55,7 +56,7 @@ void **list_add(void **list, void *new_item) return new_list; } -void **list_add_list(void **list1, void **list2) +void **list_append_list(void **list1, void **list2) { int n1, n2, n; void **list; @@ -72,8 +73,6 @@ void **list_add_list(void **list1, void **list2) list[n1+n2] = NULL; - free(list1); - return list; }