void ft_sort(t_item *inf, int len, t_als *arg) { int i; t_spec r; t_spec l; i = 1; while (i < len) { r = (arg->u == 1 ? inf[i - 1].fi->st_atimespec : inf[i - 1].fi->st_mtimespec); l = (arg->u == 1 ? inf[i].fi->st_atimespec : inf[i].fi->st_mtimespec); if (ft_sort_t(r, l, &inf[i - 1], &inf[i])) i = 1; else i++; } }
t_infos *ft_sort(t_infos *llist, t_infos *node, int option) { if (option & FLAG_F) return (ft_pushback(llist, node)); if (option & FLAG_R) { if (option & FLAG_CAP_S) return (ft_sort_cap_sr(llist, node)); else if (option & FLAG_T) return (ft_sort_rt(llist, node)); else return (ft_sort_ar(llist, node)); } else { if (option & FLAG_CAP_S) return (ft_sort_cap_s(llist, node)); else if (option & FLAG_T) return (ft_sort_t(llist, node)); else return (ft_sort_a(llist, node)); } }