libft function update