Пример #1
0
t_list_cir		*ft_create_list1(char **argv, t_e *e, int argc)
{
	int		i;

	i = 1;
	if (!(e->l_a = ft_create_racine()))
		return (NULL);
	while (i < argc)
	{
		e->j = 0;
		if (argv[i][e->j] == '\0')
			return (NULL);
		while (argv[i][e->j])
		{
			if (!(ft_isdigit(argv[i][e->j])))
				return (NULL);
			e->j++;
		}
		e->nb = ft_atoi_long(argv[i]);
		if (e->nb < -2147483648 || e->nb > 2147483647)
			return (NULL);
		push_back_list(e->l_a, e->nb);
		i++;
	}
	e->size_l = i - 1 - e->v;
	return (e->l_a);
}
Пример #2
0
static int	manage_client(t_info *info)
{
  long int	pid;

  pid = fork();
  if (pid == -1)
    {
      close(info->csock);
      return (0);
    }
  if (pid == 0)
    {
      if (client_manager(info))
	exit(EXIT_SUCCESS);
      exit(EXIT_FAILURE);
    }
  else
    info->pid_list = push_back_list(info->pid_list, (void*)pid);
  return (1);
}