Files
42_INT_07_minishell/srcs/parsing/alloc_cmd_array.c
2021-11-07 04:41:17 +01:00

50 lines
1.5 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* alloc_cmd_array.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: lperrey <lperrey@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2021/11/02 22:46:23 by lperrey #+# #+# */
/* Updated: 2021/11/07 04:29:54 by lperrey ### ########.fr */
/* */
/* ************************************************************************** */
#include "minishell.h"
size_t count_pipes(t_token *token)
{
size_t count;
count = 0;
while (token)
{
if (token->id == T_PIPE)
count++;
token = token->next;
}
return (count);
}
t_cmd **alloc_cmd_array(size_t cmd_nbr)
{
t_cmd **cmd_arr;
size_t i;
cmd_arr = ft_calloc(cmd_nbr + 1, sizeof (void *));
if (!cmd_arr)
return (ft_retp_perror(NULL, "alloc_cmd()"));
i = 0;
while (i < cmd_nbr)
{
cmd_arr[i] = ft_calloc(1, sizeof (*cmd_arr[i]));
if (!cmd_arr[i])
{
ft_free_2d_arr(cmd_arr);
return (ft_retp_perror(NULL, "alloc_cmd()"));
}
i++;
}
return (cmd_arr);
}