From 000074da918b9b02c98c927777d4c2d6a2d01cc6 Mon Sep 17 00:00:00 2001 From: Jack Halford Date: Sun, 25 Sep 2016 22:32:47 +0200 Subject: [PATCH] 25 lines --- ls/src/ft_ls.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 ls/src/ft_ls.c diff --git a/ls/src/ft_ls.c b/ls/src/ft_ls.c new file mode 100644 index 00000000..773ac2e2 --- /dev/null +++ b/ls/src/ft_ls.c @@ -0,0 +1,36 @@ +#include "ftls.h" + +void ft_ls_dirs(t_list *dir, char *opts) +{ + t_list *dir_r; + t_list *ent; + t_lsdata *dirdata; + + ft_ent_sort(&dir, opts); + while (dir) + { + dirdata = dir->content; + dir = dir->next; + /* ft_lstfree(ent); */ + ent = ft_dir_get_ents(dirdata); + ft_ent_filter(&ent, opts); + ft_ent_sort(&ent, opts); + ft_ent_print(ent, opts, dirdata, dir); + if (ft_strchr(opts, 'R')) + { + dir_r = ft_ent_get_dirs(ent); + ft_lst_merge(&dir_r, dir); + dir = dir_r; + } + } +} + +void ft_ls_files(t_list *ent, t_list *dir, char *opts) +{ + if (ent) + { + ft_ent_filter(&ent, opts); + ft_ent_sort(&ent, opts); + ft_ent_print(ent, opts, NULL, dir); + } +}