From db60d412e8c45e139047d64e44d7b953bf46ea55 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Mon, 27 Sep 2021 11:40:43 +0200 Subject: [PATCH] leaks and leaks with errors should be ok --- builds/push_swap.o | Bin 104496 -> 104208 bytes builds/stop.o | Bin 101472 -> 101472 bytes push_swap | Bin 225296 -> 225176 bytes srcs/push_swap.c | 30 ++++++++++-------------------- srcs/stop.c | 8 ++++---- tester.sh | 10 +++++++--- 6 files changed, 21 insertions(+), 27 deletions(-) diff --git a/builds/push_swap.o b/builds/push_swap.o index 16c3d975d09572b86270046545e208996fbe273e..7118121ec7696f316f58a013feba6be35ad44659 100644 GIT binary patch delta 6033 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%0A20k4$rCgDRVbAEtry%>{typ!_L1Fl^nN2J3` z)cSQNd?@Adbl5hKwb33999+-5OETdlY(3uvQ?~PU&>OamWc}1dvAE{9(^qeJC0bx8 zbPin7wzdy!)r1dfc$tD*`ob$=Te@P`A{1$LHf);+@9(PMX)4V@@JjR>jT*{F*u%d)*LYewk<@bc2lT!aeNrO5?-WXz_pd+;jnEb`lCkI zs(6+hcqP2DyYkTs!RJ`vOS!OZBfP(lf-_aXN8y#|dm0^y;EVM9C~Vt_{!62srRN+T z173;R`YI1VaAOFyJx|oH(T7zQwZ-sC_*)ILMO#RI47M7gW3!ZtfpAq5oeQr-AOANR znv;33c?rL);f>03&U|9P4fSjpyb_(N(K!fiQrtSCul<`Vdv?46UI{m9cqf8&gs)e?wwLf& zr%EmW*IvRm{{}B%YvyTnaJB3eS&5ma73W=~fu~YJrTSuA4Sv3iuzjYrw^H!}zj_lt S(f@edji6+2)a>Ta8TS9*53;=g delta 6239 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 yV INT_MAX) - ps_stop((t_list *)list, 2); - new->n = nbl; - new->limit = 0; + ps_stop((t_list *)list, 3); new->next = list; list = new; -*/ + if (ft_isnumber(nb) == 0) + ps_stop((t_list *)list, 3); + nbl = ft_atol(nb); + if (nbl < INT_MIN || nbl > INT_MAX) + ps_stop((t_list *)list, 3); + list->n = nbl; + list->limit = 0; return (list); } @@ -102,7 +91,8 @@ int main(int ac, char **av) t_list *solution; int flag; - is_valid(ac, av); + if (ac < 2) + ps_stop(NULL, 1); flag = check_flag(&ac, &av); a = init_stack(ac, av); b = NULL; diff --git a/srcs/stop.c b/srcs/stop.c index bc3e803..2f0b264 100644 --- a/srcs/stop.c +++ b/srcs/stop.c @@ -4,22 +4,22 @@ void ps_error(int err) { if (err == 1) ft_printf("usage :\nlaunch executable : ./push_swap [flag -p] nb nb nb nb nb ...\n"); - if (err == 2) + if (err >= 2) ft_putstr_fd("Error\n", 2); exit(0); } /* -** if err < 0, the parameter list is just a t_stack *list ** if err = 0, the list are freed but the program doesn't stop -** if err > 0, a message is printed and the program stop +** if err = 1, 2 or 3, a message is printed and the program stop +** if err = 3, the parameter list is just a t_stack *list */ void ps_stop(t_list *lst, int err) { t_stack **a; t_stack **b; - if (err < 0) + if (err == 3) ft_lstclear(&lst, NULL); else if (lst) { diff --git a/tester.sh b/tester.sh index 1402dda..0e675b9 100644 --- a/tester.sh +++ b/tester.sh @@ -12,15 +12,19 @@ WHITE='\033[1;37m' NC='\033[0m' # usage of arguments -if [ $# -eq 2 ] +if [ $# -eq 1 ] then - PRGM=$1 # path to program - SIZE=$2 # size of the list + SIZE=$1 # size of the list +elif [ $# -eq 2 ] +then + FLAG=$1 # flag for leaks and errors // not in use so far + SIZE=$2 else echo "usage : ./tester.sh path/to/push_swap size_of_list" exit 0 fi +PRGM=push_swap # path to program # range of random numbers RANGE=$(($SIZE * 2))