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); }
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); }