checker_utils_bonus.c
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* checker_bonus_utils.c :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: gychoi <gychoi@student.42seoul.kr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2022/12/04 18:48:17 by gychoi #+# #+# */ 9 /* Updated: 2022/12/07 20:01:43 by gychoi ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #include "checker_bonus.h" 14 15 static void run_command(char *line, t_deque *deque_a, t_deque *deque_b) 16 { 17 if (ft_strncmp(line, "sa\n", 3) == 0) 18 silent_sa(deque_a); 19 else if (ft_strncmp(line, "sb\n", 3) == 0) 20 silent_sb(deque_b); 21 else if (ft_strncmp(line, "ss\n", 3) == 0) 22 silent_ss(deque_a, deque_b); 23 else if (ft_strncmp(line, "pa\n", 3) == 0) 24 silent_pa(deque_a, deque_b); 25 else if (ft_strncmp(line, "pb\n", 3) == 0) 26 silent_pb(deque_a, deque_b); 27 else if (ft_strncmp(line, "rra\n", 4) == 0) 28 silent_rra(deque_a); 29 else if (ft_strncmp(line, "rrb\n", 4) == 0) 30 silent_rrb(deque_b); 31 else if (ft_strncmp(line, "rrr\n", 4) == 0) 32 silent_rrr(deque_a, deque_b); 33 else if (ft_strncmp(line, "ra\n", 3) == 0) 34 silent_ra(deque_a); 35 else if (ft_strncmp(line, "rb\n", 3) == 0) 36 silent_rb(deque_b); 37 else if (ft_strncmp(line, "rr\n", 3) == 0) 38 silent_rr(deque_a, deque_b); 39 else 40 ps_error(); 41 } 42 43 void read_commands(char *line, t_deque *deque_a, t_deque *deque_b) 44 { 45 while (1) 46 { 47 line = get_next_line(0); 48 if (!line) 49 break ; 50 if (ft_strncmp(line, "\n", 1) == 0) 51 { 52 free(line); 53 break ; 54 } 55 run_command(line, deque_a, deque_b); 56 free(line); 57 } 58 }