#include "libft.h" static void delete(t_list **deleted, void (*del)(void*)); void ft_lstremove_back(t_list **lst, void (*del)(void*)) { if (lst == nullptr || del == nullptr) return; if ((*lst)->next == nullptr) return delete(lst, del); t_list *cur = *lst; while (cur->next != nullptr && cur->next->next != nullptr) cur = cur->next; delete(&(cur->next), del); } static void delete(t_list **deleted, void (*del)(void*)) { del(*deleted); free(*deleted); *deleted = nullptr; }