/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* parsing.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/12/07 19:23:59 by erey-bet #+# #+# */ /* Updated: 2022/12/09 15:07:13 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ #include "push_swap.h" void choice(long *tab, int y) { if (y == 4 || y > 5) pre_push_swap(tab, y); else if (y == 5) push_swap_5(tab, y); else if (y == 3) push_swap_3(tab, y); else if (y == 2) if (tab[0] > tab[1]) write(1, "ra\n", 3); } int put_tab(char **tmp, long **tab, int *y) { int x; x = 0; while (tmp[x] != NULL) { if (ft_atoi_check(tmp[x])) (*tab)[(*y)++] = ft_atoi(tmp[x]); else { free_strstr(tmp); return (put_error()); } x++; } return (0); } int parsing(int argc, char *argv[], long *tab) { int i; int y; char **tmp; i = 0; y = 0; while (++i < argc) { argv = set_only_space(argv, i); tmp = ft_split(argv[i], ' '); if (tmp == NULL) return (1); if (put_tab(tmp, &tab, &y)) return (1); free_strstr(tmp); } if (if_there_is_double(tab, y) || (y < argc - 1)) return (put_error()); choice(tab, y); return (0); }