diff options
Diffstat (limited to 'c12/ex10')
| -rw-r--r-- | c12/ex10/ft_list.h | 22 | ||||
| -rw-r--r-- | c12/ex10/ft_list_foreach_if.c | 19 |
2 files changed, 41 insertions, 0 deletions
diff --git a/c12/ex10/ft_list.h b/c12/ex10/ft_list.h new file mode 100644 index 0000000..5a8dab5 --- /dev/null +++ b/c12/ex10/ft_list.h @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_list.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/09 14:33:17 by cacharle #+# #+# */ +/* Updated: 2019/07/19 08:27:25 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef FT_LIST_H +#define FT_LIST_H + +typedef struct s_list +{ + struct s_list *next; + void *data; +} t_list; + +#endif diff --git a/c12/ex10/ft_list_foreach_if.c b/c12/ex10/ft_list_foreach_if.c index e69de29..944e31b 100644 --- a/c12/ex10/ft_list_foreach_if.c +++ b/c12/ex10/ft_list_foreach_if.c @@ -0,0 +1,19 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_list_foreach_if.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/19 08:31:11 by cacharle #+# #+# */ +/* Updated: 2019/07/19 08:34:48 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_list_foreach_if(t_list *begin_list, void (*f)(void *), void + *data_ref, int (*cmp)()) +{ + while (begin_list != NULL) + if ((*cmp)(begin_list->data, data_ref) == 0) + (*f)(begin_list->data); +} |
