함수원형
t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *))
인자
- lst
매핑을 할 연결리스트- void (f)(void)
매핑을 할 함수- void (del)(void)
노드 할당 실패시 content를 지워줄 함수
ft_lstmap
은 연결리스트 lst의 content를 함수 f로 보내서 바뀐 값을 content로 갖고있는 새로운 연결리스트
를 만들어서 리턴해주는 함수이다.
만약 새로운 연결리스트를 만들다 노드 할당이 실패하면 여태까지 만든 새로운 연결리스트를 모두 할당 해제해준다.
lst에 있는 content를 mallang으로 바꿔주는 함수 f를 적용시켜서 새로운 연결리스트 new_lst를 만들었다.
함수 f는 빈 문자열이 넘어올 때 리턴 0을 하는데 이렇게 되면 ft_lstmap 내부에서 할당을 실패하기 때문에 new_lst의 모든 노드를 clear하게된다.
함수 f에 의해 바뀐 값들이 들어있는 새로운 리스트가 리턴된다.