示例#1
0
t_arr	*ft_lst2arr(const t_lst *lst)
{
	t_arr		*arr;
	t_lst const	*l;
	size_t		i;

	arr = ft_arrnew(ft_lstlen(lst));
	if (arr)
	{
		i = 0;
		l = lst;
		while (l)
		{
			arr[i].content = ft_memdup(l->content, l->content_size);
			arr[i].size = l->content_size;
			l = l->next;
		}
	}
	return (arr);
}
示例#2
0
static int	ft_env_setep_new(t_bltenv *env, char **cmd, int i, int n)
{
	int			j;

	env->ep = ft_arrnew(n);
	if (env->ep == NULL)
		return (-1);
	j = 0;
	while (j < n)
	{
		env->ep[j] = ft_strdup(cmd[i]);
		if (env->ep[j] == NULL)
		{
			ft_arrdel(&(env->ep));
			return (-1);
		}
		j++;
		i++;
	}
	return (i);
}